出于好奇,asp.net中可用于处理请求的最大线程数是多少。
asp.net是否会针对任何I / O或数据库操作发布它们,以便可以处理最大数量的请求?
答案 0 :(得分:3)
它通过machine.config控制。
配置> system.web> 中processModel
<processModel
maxWorkerThreads="num"
maxIoThreads="num"
minWorkerThreads="num"
minIoThreads="num"
...
/>
它基于每个CPU设置。单CPU的默认值为20/20 http://msdn.microsoft.com/en-us/library/7w2sway1(v=VS.100).aspx
答案 1 :(得分:2)
在.net 4.0中,每个CPU有250个工作线程和1,000个I / O完成线程......
答案 2 :(得分:1)
要释放I / O操作的工作线程,您需要使用async / await模式。当您“等待”异步文件操作时,该线程将被释放回ASP.NET线程池,然后用于处理其他请求,直到您的文件i / o操作完成。
http://www.asp.net/mvc/tutorials/mvc-4/using-asynchronous-methods-in-aspnet-mvc-4