ASP.NET 中的HttpApplication如何创建和管理线程?
什么决定了HttpContext是打开一个新线程还是使用现有线程?这怎么能控制?
我会很高兴得到一个可靠的解释或指向有关此信息的足够资源的链接。
ASP.NET 中的HttpApplication如何创建和管理线程?
什么决定了HttpContext是打开一个新线程还是使用现有线程?这怎么能控制?
我会很高兴得到一个可靠的解释或指向有关此信息的足够资源的链接。
ASP.NET 中的 HttpApplication 如何创建和管理线程?
它们是从线程池中提取的。它们不是在每次请求时创建的。
什么决定了 HttpContext 是打开一个新线程还是使用现有线程?
永远不会创建新线程。一旦请求得到服务,它们就会从池中提取并返回给它。
这怎么能控制?
这是 ASP.NET 做得非常好的事情,而不是您想要控制的事情,但是如果您真的坚持,这里有一篇文章解释了如何在 ASP.NET 中使用 STA 线程而不是 MTA 线程。
这是Thomas Marquardt(Microsoft ASP.Net 开发团队的成员,实际上在这个领域工作)关于 IIS6 和 IIS7 中的 ASP.NET 线程使用的一篇精彩文章:
http://blogs.msdn.com/b/tmarq/archive/2007/07/21/asp-net-thread-usage-on-iis-7-0-and-6-0.aspx