Синхронный звонок в 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();
}

0 ответов

Другие вопросы по тегам