async/await是否适用于Web应用程序?

Cat*_*lin 7 c# asp.net async-await

我在C#5.0中读到了Async和Await Keywords,它允许同时执行并行任务.(这是我所理解的).

这种做法对Web应用程序有用吗?

在这里,我们有AJAX方法,允许在不阻塞UI(浏览器)的情况下执行任务.

它们应该仅用于异步Web服务吗?

您能举例说明为什么/如何在Web应用程序中使用async/await关键字?(利用此功能)

小智 4

也许我能想到的最好的例子是从异步操作方法调用一系列 Web 服务方法。例如:

假设您在 Web 服务中定义了两个方法:Method1 和 Method2。如果每个方法需要 1 秒,那么同步调用它们将需要 2 秒,但是以async时尚方式调用它们将花费更少的时间。

 using (DataClient proxy = new DataClient())
            {
                Task<Object> data1= proxy.Method1();
                Task<Object> data2 = proxy.Method2();

                await Task.WhenAll(new Task[] { data1, data2 });

               //Completed
           }
Run Code Online (Sandbox Code Playgroud)

来自 MSDN:

AsyncController 类使您能够编写异步操作方法。您可以将异步操作方法用于长时间运行、非 CPU 限制的请求。这可以避免在处理请求时阻止 Web 服务器执行工作。AsyncController 类的典型用途是长时间运行的 Web 服务调用。

链接:http ://msdn.microsoft.com/en-us/library/ee728598(v=VS.98).aspx