thể trùng lặp:
Why does ManualResetEvent fail to work in this synchronous call using Silverlight 4?ManualResetEvent là không làm việc với WCF và Silverlight
Tôi có một mã dưới đây trong MainPage.Xaml.cs
ManualResetEvent wait = new ManualResetEvent(false);
Service1Client wcf = new Service1Client();
wcf.DoWorkCompleted += (o, ev) =>
{
int s = (int)ev.Result;
wait.Set();
};
wcf.DoWorkAsync();
wait.WaitOne();
//My other part of code where I'd like the value of `int s`.
....
Service1.svc .cs có mã bên dưới.
public class Service1 : IService1
{
public int DoWork()
{
return 5;
}
}
Cho đến khi hoàn thành DoWork
Tôi muốn mã của mình chờ vì vậy tôi đã viết mã này. Mặc dù sau khi WaitOne
hướng dẫn (Service1.svc.cs) phương pháp DoWork()
sẽ không được gọi là ở tất cả. Ứng dụng sẽ ở lại đó chỉ không làm bất cứ điều gì. Tôi đã làm việc về điều này trước khi trong một máy khác trong SilverLight 4 và nó đã làm việc như mong đợi. Bây giờ tôi đang sử dụng SilverLight 3.
Eren Tôi đã tạo ứng dụng hoàn toàn mới và đã thử cùng một ứng dụng vẫn không hoạt động. Tôi đang sử dụng ứng dụng điều hướng. – Shrivallabh