访问驻留在另一个类中的DownloadStringAsync

时间:2011-12-06 15:10:45

标签: c# webclient

我正在使用webclient从类中进行异步下载。即

public void download()
{
    WebClient client = new WebClient();
    client.DownloadStringCompleted += new DownloadStringCompletedEventHandler(client_DownloadStringCompleted);
    client.DownloadStringAsync(new Uri("http://www.url.com"));
}

我正在尝试使用CancelAysnc方法,我认为我会使用类似的东西:

client.CancelAsync();

但是我想在例如点击事件方法上使用它。当然,当我尝试使用上面的示例时,它不知道客户端。我如何获得它?

感谢

2 个答案:

答案 0 :(得分:1)

您必须将客户端对象存储在局部变量以外的其他位置。这样您就可以在download()方法之外访问它了。

答案 1 :(得分:1)

...范围

WebClient client;
public void download() {
    client = new WebClient();
    // Further code...
}

public void cancel() {
    client.CancelAsync();
}