如果“文件下载”处于打开状态,则 IIS 请求将无法完成

如果“文件下载”处于打开状态,则 IIS 请求将无法完成

我们有一个 ASP.NET 应用程序,用于向用户返回图像文件。当用户请求图像时,该应用程序会在标头中设置适当的内容信息,并返回字节。我们发现,如果浏览器提示用户打开或保存图像,则 IIS 请求将保持“发送响应”状态,直到用户选择其中一个提示选项。

问题在于有些用户没有关闭提示,导致请求无法完成。一旦发生这种情况,其他请求也会无法完成。最终,所有可用线程都会被用完。

有没有办法强制 IIS 在超时后强制终止请求?我们尝试设置“executionTimeout”,但这没有任何效果,因为请求线程在等待客户端回答提示时没有做任何工作。

连接超时设置为默认值 120 秒。

答案1

您的连接超时(HTTP KeepAlive 超时)是多少?

网站 > 连接限制 > 连接超时。默认值为 120 秒。(不要与应用程序池超时混淆)。有时使用会话亲和性(粘性会话)的应用程序的超时值会更高。将其设置得太高会增加连接数。

您还应确保拥有最新的 http.sys热修复已安装,版本 6.1.7601.21886。

相关内容