我已经在这个问题上苦苦挣扎了好几个星期了,但是在尝试了网上的每个选项之后似乎找到了解决方案。但是我仍然无法解释它。
我们有一个 Web 服务,其方法执行长时间运行的 SQL 查询,大约需要 7 分钟才能完成。但是,在间歇运行时,我们会收到错误;
“底层连接已关闭:接收时发生意外错误。”
现在事实证明,在 IIS7 中,是应用程序池上的进程模型部分导致了这种情况。即使我们将“Ping 最大响应时间”设置为 600 秒(10 分钟),错误仍然会随机出现……有时甚至仅在 100 秒左右之后。
阻止此错误发生的唯一方法是将“Ping Enabled”功能设置为 false。
我担心这可能不是解决问题的最佳方法......但客户需要修复它,所以现在可以这样做。任何人都可以对此有所了解吗?我们有其他使用旧版本 IIS 和 SQL 的站点没有此问题。它只发生在运行 SQL 2008 R2 Express 和 IIS 7.5 的服务器上。
它建立在 .NET 框架 v2.0 之上。
感谢任何人都可以提供的任何见解。