WPF 异步 httpclient 不返回字符串


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 应用程序的一部分。该应用程序的主登录页面链接到我从中获取上述代码的第二个页面。第二页从未真正加载,它只是挂在第一页上。

我做错了什么?谢谢。

您应该使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);
}

最新更新