2017-01-26 5 views
1
public RSS_Reader() 
{ 
    this.InitializeComponent(); 
} 

public static async Task<string> DownloadPageAsync(string pageURL) 
{ 
    HttpClient client = new HttpClient(); 
    HttpResponseMessage response = await client.GetAsync("http://www.parliament.uk/g/RSS/news-feed/?pageInstanceId=209&limit=20"); 
    HttpContent content = response.Content; 
    string result = await content.ReadAsStringAsync(); 
    return result; 

} 

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    var parameter = e.Parameter as string; 
    strURL = parameter.ToString(); 

    Task<string> strXML = DownloadPageAsync(strURL); 

    ListBoxRss.Items.Add(strXML.Result); 
} 

Часть приложения wp8, которое я делаю. Там есть главная целевая страница приложения, которая ссылается на вторую страницу, откуда я взял код выше. Вторая страница никогда не загружается, и она просто зависает на первой странице.WPF async httpclient не возвращает строку

Что я сделал не так? Спасибо.

ответ

1

Вы должны сделать OnNavigatedTo метод асинхра и ждать DownloadPageAsync метода:

protected override async void OnNavigatedTo(NavigationEventArgs e) 
{ 
    var parameter = e.Parameter as string; 
    strURL = parameter.ToString(); 

    string strXML = await DownloadPageAsync(strURL); 

    ListBoxRss.Items.Add(strXML); 
} 
+0

Yay о яй, я получаю, чтобы закончить чтение в парламенте основных моментов! – luigivampa

+0

Серьезно, хотя, спасибо. – luigivampa

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

  • Нет связанных вопросов^_^