如何在ASP.NET MVC中禁用HTTP Keep-Alive?

Ben*_*ack 8 asp.net iis asp.net-mvc

有没有办法告诉IIS/ASP.NET不允许某些请求保持活动?或者甚至对整个网站来说,如果这真的是唯一的方法吗?

Cle*_*ud8 5

对于整个站点,使用 IIS 7 ....

<configuration>
   <system.webServer>
      <httpProtocol allowKeepAlive="false" />
   </system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)

附注。
我意识到这个问题只是关于如何禁用该功能。但是,我认为值得一提的是,禁用 KeepAlive 是我试图解决的问题的一个红鲱鱼。我遇到了一个问题,即 jQuery Ajax POST 无法将正文内容发送到服务器。尽管启用/禁用 KeepAlive 似乎确实影响了我重现问题的程度,但实际的修复是在站点根目录禁用 Windows 身份验证。这是因为浏览器(在幕后)在网站的根目录(甚至在您的应用程序文件夹之外)发送了对 favicon.ico 的请求,并且如果您在该级别打开了 Windows 身份验证,则 NTLM 身份验证握手开始,并且(用技术术语来说)它把一切都搞定了。

所以我最终从我的配置文件中删除了这一行,以便它作为默认设置运行,启用 KeepAlive..... 顺便说一下,这应该能更好地提高性能。


dno*_*ord 3

很确定它不能在请求级别完成。

在 IIS 6.0 中,它在 IIS 属性选项卡中公开。在 IIS 7 中,他们隐藏了它