나는 usr_OK 매개 변수를 변경해야합니다 실버 라이트 3와 WCF 서비스 방법 동기/비동기
private bool usr_OK = false;
clientService.CheckUserMailAsync(this.mailTF.Text);
if (usr_OK == true)
{ isValidationOK = true; }
else { isValidationOK = false; MessageBox.Show("User already exists.", "User registered succes!", MessageBoxButton.OK); }
CheckUserMail
clientService.CheckUserMailCompleted += new EventHandler<CheckUserMailCompletedEventArgs> (clientService_CheckUserMailCompleted);
clientService.CheckUserMailAsync(this.mailTF.Text);
void clientService_CheckUserMailCompleted(object sender, CheckUserMailCompletedEventArgs e) {
if (usr_OK == true) {
isValidationOK = true;
}
else {
isValidationOK = false;
MessageBox.Show("User already exists.", "User registered success!", MessageBoxButton.OK);
}
}
정상적으로 작동합니다. 그러나 방법을 끝내기를 기다리는 방법이 있습니다. 실은 솔기가 작동하지 않습니다. – Rafal
개인 AutoResetEvent를 사용하고 싶습니다. m_autoResetEvent = new AutoResetEvent (false); – Rafal
이것은 실버 라이트가 작동하는 방식입니다. 동기식 웹 서비스 호출은 설계 상 지원되지 않습니다. –