Синхронный звонок в Windows Phone 7
Я знаю, что не могу сделать истинный синхронный вызов в Windows Phone 7. Однако я пытаюсь по крайней мере заблокировать обработку потоков, пока не будет выполнен асинхронный вызов или не истечет время ожидания. Я попробовал следующее, но кажется, что мое приложение просто игнорирует его, отклоняет вызов и не возвращает обратно. Есть идеи почему?
Я пытаюсь обновить значение с помощью конвертера значений во время привязки.
public ManualResetEvent _event;
public void GetSync()
{
_event = new ManualResetEvent(false);
var wc = new WebClient();
wc.OpenReadCompleted += new OpenReadCompletedEventHandler(ReadCompleted);
wc.OpenReadAsync(new Uri("My URL"));
// block until async call is complete
_event.WaitOne(5000);
}
private void ReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
var serializer = new XmlSerializer(typeof(MyFormatter));
// The property below is accessed back in the Value Converter for binding
StronglyTypedObject = (StObject)serializer.Deserialize(e.Result);
_event.Set();
}