假设当用户通过HTTP请求.aspx页面时,ASP.NET是否可以安全地为其创建至少1个线程?
如果是这样,它能持续多久?
如果1000个人向同一个.aspx页面发出HTTP请求,是否涉及到一些线程的回收,那么它不会产生不同的1000个线程?
答案 0 :(得分:10)
每个请求都从iis页面池中分配一个线程。我的想法是,这应该是一个短暂的运行过程,以便线程可以返回到页面池供另一个请求使用(页面池大小通常不像50)。因此,如果您有一个长时间运行的请求,那么进行异步调用以释放线程以获取其他请求非常重要。然后,在您长时间运行的请求完成后,您将从池中获得另一个线程并完成。
最重要的是,如果有1000个人同时发出请求且没有一个人完成请求,那么将会运行50个左右,其他950个人将等待。