我们现在可以在 ASP.NET MVC 4 中使用 async/await 关键字。
public async Task<ActionResult> TestAsync()
{
WebClient client = new WebClient();
return Content(await client.DownloadStringTaskAsync("http://www.google.com"));
}
但是如何在 ASP.NET WebForms 中使用它呢?
最佳答案
一种简单的方法是让您的事件处理程序 async
.首先,添加 Async="true"
@Page
的参数指令,然后您应该能够编写异步事件处理程序:
protected async void Page_Load(object sender, EventArgs e)
{
var client = new WebClient();
var content = await client.DownloadStringTaskAsync("http://www.google.com");
Response.Write(content);
}
我说“应该能够”,因为我自己还没有真正尝试过。但它应该工作。
更新:这不适用于
Page_Load
(参见 this MSDN forum thread ),但应该适用于其他事件,例如按钮点击。更新:这确实适用于
Page_Load
在 ASP.NET 4.5 中。此外,如果您不正确地使用 async
,他们会添加检查。事件处理程序。 See this video for details.
关于asp.net - 如何在asp.net webform中使用async/await实现异步页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9561632/