Asp.net mvc 为什么ASP.NET MVC中需要异步控制器?

Asp.net mvc 为什么ASP.NET MVC中需要异步控制器?,asp.net-mvc,Asp.net Mvc,我对ASP.NETMVC有点陌生,搜索之后我还有一件事不明白。为什么需要异步控制器?由于每个HTTP请求都会导致服务器创建一个新的控制器实例,因此服务器不会阻止任何请求,那么为什么需要一个异步控制器呢?异步控制器的全部目的是在执行长时间操作时释放IIS线程。IIS线程从.NET线程池中提取。线程池线程的最大数量将根据您的系统配置而有所不同(在我的core-2-quad上是1023)。这意味着长操作将消耗其中一个线程。当达到最大数量时,可能需要等待其他请求,直到释放一个请求。非常清楚地说:如果您有

我对ASP.NETMVC有点陌生,搜索之后我还有一件事不明白。为什么需要异步控制器?由于每个HTTP请求都会导致服务器创建一个新的控制器实例,因此服务器不会阻止任何请求,那么为什么需要一个异步控制器呢?

异步控制器的全部目的是在执行长时间操作时释放IIS线程。IIS线程从.NET线程池中提取。线程池线程的最大数量将根据您的系统配置而有所不同(在我的core-2-quad上是1023)。这意味着长操作将消耗其中一个线程。当达到最大数量时,可能需要等待其他请求,直到释放一个请求。非常清楚地说:如果您有1023个操作执行长轮询请求,您的网站将停止响应其他请求


当您使用异步控制器时,您可以在线程池之外创建线程,从而绕过最大线程限制。

除非您处理的服务器收到大量请求(如这样),否则您不会看到其阻止带来太多好处。感谢您指出这一点,我应该如何处理,删除它?你也可以投票表决你自己的问题。坦克,现在我明白了。