2012-03-16 3 views
0

Я читал, что сообщения являются асинхронными WP7, но есть случаи, когда этого типа не хватает.Операция ожидания WebClient - Windows Phone 7

Я использую webclient для загрузки контента и просто хочу перейти к следующей операции после получения такого контента.

Как это делается?

Я ноб на этой платформе.

Cumpz

ответ

0

Вот код, который поможет вам начать использовать класс WebClient

Создание WebClient

WebClient client = new WebClient()) 
       client.DownloadStringAsync(new Uri("http://www.google.com")); 
       client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted); 

Теперь, сделать что-то когда-то операция загрузки строки закончила

 void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) 
    { 
     string result = e.Result; 
     // Do something with the string 
     DoThingWithString(result) 
    } 
+1

WebClient не является одноразовым. –

+1

Он наследуется от Component (http://msdn.microsoft.com/en-us/library/system.componentmodel.component.aspx) Однако в контексте Windows Phone 7 это не так :) – ry8806

1

Похоже, что вы ищете синхронизацию рунический метод. Если это так, вы можете сделать что-то вроде этого:

 AutoResetEvent waitHandle = new AutoResetEvent(false); 
     WebRequest request = WebRequest.Create(url) as HttpWebRequest; 
     IAsyncResult asyncResult = request.BeginGetResponse(ar => waitHandle.Set(), null); 
     if (!waitHandle.WaitOne(30000)) 
     { 
      throw new TimeoutException("Timed out"); 
     } 
     using (HttpWebResponse response = request.EndGetResponse(asyncResult) as HttpWebResponse) 
     { 
      ... 
Смежные вопросы