我希望在silverlight中使用异步Web请求,并希望查看一个不像msdn上的文档那样令人困惑的示例。
答案 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;
}
}