很晚了,我一直在尝试了解 IIS 请求处理的内部。我在 IIS 7.0 和 6.0 中看到了关于 ASP.Net 线程使用的不错的博客。(http://blogs.msdn.com/b/tmarq/archive/2007/07/21/asp-net-thread-usage-on-iis-7-0-and-6-0.aspx)。我部分理解了线程在请求处理的 ASP.Net 部分(w3wp.exe)范围内的工作原理。但是我无法理解 HTTP.sys 组件范围内的请求处理。
我有以下问题:
当请求进入 HTTP.sys 时,是否只有单个线程可以获取请求并将其放入相应的应用程序池队列中?或者 HTTP.sys 组件中是否有任何线程池负责将请求放入应用程序池请求队列?
我也对参与整个请求处理过程的线程池总数感到困惑,即从 http.sys 到处理程序组件。
是否总共有三个线程池,即 HTTP.sys 中的一个,第二个用于 IIS 线程池,它从应用程序池队列中获取请求并发布到 asp.net,第三个,即执行 ASP.Net 管道工作的 CLR 线程池。
请问有人可以回答以上问题吗?