相关疑难解决方法(0)

.net 4.5中的异步和同步之间的区别

在我阅读.Net 4.5中的异步编程asyncawait关键字时,我在这里阅读以下段落

处理异步请求

在启动时看到大量并发请求或具有突发性负载(并发性突然增加)的Web应用程序中,使这些Web服务调用异步将提高应用程序的响应能力.异步请求与同步请求相同的处理时间.例如,如果请求进行需要两秒钟才能完成的Web服务调用,则无论是同步执行还是异步执行,请求都需要两秒钟.但是,在异步调用期间,在等待第一个请求完成时,不阻止线程响应其他请求.因此,当有许多并发请求调用长时间运行的操作时,异步请求会阻止请求排队和线程池增长.

对于粗体字,我无法理解异步请求如何像同步请求一样处理相同的时间?

例如:

public async Task MyMethod()
{
    Task<int> longRunningTask = LongRunningOperation();
    //indeed you can do independent to the int result work here 

    //and now we call await on the task 
    int result = await longRunningTask;
    //use the result 
    Console.WriteLine(result);
}

public async Task<int> LongRunningOperation() // assume we return an int from this long running operation 
{
    await Task.Delay(1000); //1 seconds delay
    return 1;
}
Run Code Online (Sandbox Code Playgroud)

我所理解的是LongRunningOperation()从第一行调用开始执行并在调用后Task<int> …

.net c# asp.net task-parallel-library async-await

18
推荐指数
2
解决办法
4万
查看次数

使WebAPI操作异步?

我有一个问题是在WebAPI/MVC控制器AJAX请求上使用async/await是否有益.

假设我有一个与WebAPI后端对话的AngularJS应用程序,我想获得一些数据.我对WebAPI做了一些AJAX调用并等待结果.

就客户而言,这当然是异步.如果我要使这些操作异步,它现在对服务器有益吗?

编辑

我刚刚发现了这个:http://www.dotnetcurry.com/showarticle.aspx? ID = 948 - 说它是

编辑 - 试图澄清 让我试着更清楚.如果我将从WebAPI到服务层的所有调用实现为异步(.NET关键字)与"正常",那么服务器上的处理器负载是否会更少?

如果所有方法都不是Async,IIS会产生更多线程,从而占用更多内存吗?

c# ajax asynchronous asp.net-web-api angularjs

4
推荐指数
1
解决办法
2054
查看次数