Windows phone 7 使用WebClient.OpenReadAsync进行双重下载
好的,在我的应用程序中,我需要下载两个数据列表来详细说明它们,但我不知道如何做到 我点击一个按钮,然后我认为下载几乎同时开始。这对我有好处,但不好的是,我的应用程序无法理解如何在执行任何其他操作之前等待下载 我知道存在设计问题,但我不知道如何解决 代码(或多或少)是这样的:Windows phone 7 使用WebClient.OpenReadAsync进行双重下载,windows-phone-7,asynchronous,webclient,Windows Phone 7,Asynchronous,Webclient,好的,在我的应用程序中,我需要下载两个数据列表来详细说明它们,但我不知道如何做到 我点击一个按钮,然后我认为下载几乎同时开始。这对我有好处,但不好的是,我的应用程序无法理解如何在执行任何其他操作之前等待下载 我知道存在设计问题,但我不知道如何解决 代码(或多或少)是这样的: private void button_Click(object sender, RoutedEventArgs e) { try { WebClient we
private void button_Click(object sender, RoutedEventArgs e)
{
try
{
WebClient webClient = new WebClient();
Uri uri = new Uri("http://myRESTservice");
webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted);
webClient.OpenReadAsync(uri); //this will set a private variableA
dwnl();
doSomething(); //this will do something with A and B
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void dwnl()
{
try
{
WebClient webClient = new WebClient();
Uri uri = new Uri("http://myRESTservice/anotherAddress");
webClient.OpenReadCompleted += new OpenReadCompletedEventHandler(webClient_OpenReadCompleted_B);
webClient.OpenReadAsync(uri); //this will set a private variableB
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
希望您理解这个问题。当您的应用程序下载数据时,即调用了OpenReadAsync方法,您可能会显示忙指示。然后将从OpenReadCompleted事件处理程序中调用doSomething方法。 如果希望一个下载在另一个下载完成后进行,那么还可以从OpenReadCompleted事件处理程序中调用dwnl方法