C# 异步/等待对web应用程序有用吗?

C# 异步/等待对web应用程序有用吗?,c#,asp.net,async-await,C#,Asp.net,Async Await,我阅读了C#5.0中的Async和Wait关键字,它允许同时执行并行任务。(这就是我所理解的) 这种做法对web应用程序有用吗 这里,我们有AJAX方法,它允许在不阻塞UI(浏览器)的情况下执行任务 它们应该只用于异步web服务吗 你能举个例子说明为什么/如何在web应用程序中使用async/await关键字吗?(为了利用这些特性)async和await这并不是一项创新,我不认为简单的语法是相同的异步调用处理模式,不同的是,它使代码编写者以线性、更自然的方式编写代码 所以,真正的问题是:我应该在

我阅读了C#5.0中的Async和Wait关键字,它允许同时执行并行任务。(这就是我所理解的)

这种做法对web应用程序有用吗

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

它们应该只用于异步web服务吗


你能举个例子说明为什么/如何在web应用程序中使用async/await关键字吗?(为了利用这些特性)

async
await
这并不是一项创新,我不认为简单的语法是相同的异步调用处理模式,不同的是,它使代码编写者以线性、更自然的方式编写代码

所以,真正的问题是:我应该在哪里使用异步模式


好的,每当你需要一些
async
调用,或者大量处理多个调用,或者一些繁重的处理操作时。。。或者可以在universe中找到任何其他适合
async
需要的方法。

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

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

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

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

               //Completed
           }
使用(DataClient proxy=newdataclient())
{
任务数据1=proxy.Method1();
任务数据2=proxy.Method2();
wait Task.WhenAll(新任务[]{data1,data2});
//完成
}
从MSDN:

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


链接:

-1没有建设性,但我会帮助你的。回答题目:是的