2012-06-14 2 views
0

Я разрабатываю приложение для Windows-телефона. Веб-клиент не срабатывает, как я ожидал. Связанный код выглядит следующим образом:DownloadStringCompleted событие не срабатывает

public PArticle(PocketListItem aPli) 
    { 
     this.pli = aPli; 

     using (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication()) 
     { 
      if (!isf.FileExists(aPli.ID + ".json")) 
      { 
       WebClient client = new WebClient(); 
       client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted); 
       client.DownloadStringAsync(new Uri(pli.Url)); 
      } 
      else 
      { 
       string json = RetrieveDataFromLocalStorage(aPli.ID + ".json"); 

       PocketArticle pa = JsonConvert.DeserializeObject<PocketArticle>(json); 
       this.text = pa.text; 
      } 
     } 
    } 

    void client_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) 
    { 
     var readability = Readability.Create(e.Result); 
     this.text = readability.Content; 
    } 

Я знаю, что это синхронная/асинхронная проблема. Но я понятия не имею, как с этим справиться.

Заранее спасибо.

+0

Код, кажется, в порядке, проверьте, действителен ли ваш URL или нет? – nkchandra

+0

Я думаю, что это смешно: http: //stackoverflow.com/questions/10521232/webclients-downloadstringcompleted-event-handler-not-firing Однако в этом сообщении не найдено никакого решения. У url нет проблем. – yorkzhang

ответ

0

Я проверил часть вашего кода WebClient с двумя разными URL-адресами http://riktamtech.com и http://google.com. В обоих случаях возникает событие DownloadStringCompleted. Я заметил это, поставив точку останова.

Поэтому я предлагаю вам снова протестировать точки останова.

Смежные вопросы