【发布时间】:2012-07-10 03:29:44
【问题描述】:
IIS / ASP.NET 可以使用 TCP keepalive 选项来检测死连接吗?请注意,这些连接没有有效的 HTTP Keep-Alive 选项。这些是连接,只是被客户端放弃,让 IIS / ASP.NET 线程挂起,等待数据。是否存在 IIS / ASP.NET 处理此类情况的机制?
【问题讨论】:
标签: keep-alive
IIS / ASP.NET 可以使用 TCP keepalive 选项来检测死连接吗?请注意,这些连接没有有效的 HTTP Keep-Alive 选项。这些是连接,只是被客户端放弃,让 IIS / ASP.NET 线程挂起,等待数据。是否存在 IIS / ASP.NET 处理此类情况的机制?
【问题讨论】:
标签: keep-alive
IIS 可以选择打开连接,就像启用 TCP KeepAlives 一样,但所有研究都表明它使用了系统设置。系统默认启用 2 小时 KeepAliveTimes。
http://support.microsoft.com/kb/120642 具有对注册表值的引用。
【讨论】:
ASP.NET 只处理通过连接发送的 HTTP 数据,这段时间没有发生 HTTP,但 TCP 连接保持活动状态对它没有任何意义。
IIS 不会无限期地保持 TCP 连接处于活动状态,而是会定期检查它们是否处于空闲状态。
【讨论】: