2017-01-26 3 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アプリケーションの一部です。上のコードを読んだところから2番目のページにリンクする、アプリケーションのメインのランディングページがあります。 2番目のページは実際にはロードされず、最初のページにハングアップします。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

を! – luigivampa

+0

本当にありがとうございます。 – luigivampa

関連する問題