任何人都可以看到异步Web请求的简单实现?

时间:2010-08-30 14:43:05

标签: c# asp.net asynchronous

我希望在silverlight中使用异步Web请求,并希望查看一个不像msdn上的文档那样令人困惑的示例。

1 个答案:

答案 0 :(得分:5)

异步方法调用的秘诀在于您提供了一个回调方法(在下面内联定义为lambda表达式),然后调用将立即返回的Async方法。异步操作完成后,将调用回调方法。

var wc = new WebClient();

wc.DownloadStringCompleted += (sender, e) =>
{
    using (sender as IDisposable)
    {
        myTextBox.Text = e.Result;
    }
};

wc.DownloadStringAsync(new Uri("http://stackoverflow.com"));

var wc = new WebClient();

wc.DownloadStringCompleted += wc_DownloadStringCompleted;

wc.DownloadStringAsync(new Uri("http://stackoverflow.com"));

void wc_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
    using (sender as IDisposable)
    {
        myTextBox.Text = e.Result;
    }
}