在我的网站上,我有一个处理程序(GetFile.ashx),在执行时,它允许您以给定的下载速率下载文件。处理程序需要执行,直到用户完成下载。 问题是当处理程序正在执行时,网站的其他页面(以及处理程序本身)无法访问,并且IIS在页面完成执行之前一直等待响应其他请求。我该如何解决?
我注意到的另一件事是我在Amazon EC2上的服务器上使用IIS7 ...... IIS怎么可能一次只能处理一个请求?
谢谢。
答案 0 :(得分:0)
只有有限数量的线程可以同时执行,可能是您已用完所有可用的线程。您可以尝试使用IHttpAsyncHandler
来实现异步HTTP处理程序。
MSDN上存在用于创建IHttpAsyncHandler
的演练,请参阅Walkthrough: Creating an Asynchronous HTTP Handler。
编辑: 您还可以尝试使用以下方法增加并发请求数:
<system.web>
<applicationPool maxConcurrentRequestsPerCPU="24" />
</system.web>
请参阅ASP.NET论坛上的讨论http://forums.asp.net/t/1447626.aspx/1。
答案 1 :(得分:0)