IIS偶尔也没有回应

时间:2012-11-03 12:20:23

标签: sql-server-2008 iis

我遇到了3层应用程序的问题。它使用IIS和SQL Server。问题是有时候(更长的请求导致更高的概率)客户端没有收到来自IIS的响应。它在SQL Server上没有活动时挂起,即使在我杀死SQL进程时,我也没有得到异常响应。当我在这些挂起后检查数据时,我发现我的SQL请求已成功,因此问题似乎出现在IIS上。不幸的是,我没有太多控制托管应用程序的地方,我无法重现问题。这个问题可以有很多答案,但至少我需要提示我应该调查哪个方向。
更新:我还有一个应用程序在同一台服务器上运行,可以完成一项小工作:它会逐行将100行逐行插入到数据库中。人工地让它跑了大约10分钟(把xlock放在桌子上)。删除xlock后,IIS上的进程继续运行并成功插入了这100行。然而,此后控制权从未返回给客户,它只是无限期地等待。在长时间运行的过程之后向客户端返回响应时,这似乎是一个问题 顺便说一句,这不是一个网站,而是一个使用Remoting的WinForms应用程序。

2 个答案:

答案 0 :(得分:1)

如果您确定SQL Server正在返回IIS,那么您可能需要检查IIS logs以查看请求可能发生的情况。这些日志的正常位置为%SystemRoot%\system32\Logfiles\<service_name>

如果您不确定SQL Server,您可能会访问SQL日志,运行Profiler或检查Windows系统日志中的错误,在Visual Studio中调试运行您的站点或将您自己的日志记录添加到您的应用程序中它挂在哪一步。

答案 1 :(得分:1)

我终于找到了问题所在。应用程序在Web场上运行,客户端和IIS之间有一个平衡器服务器。平衡器上的超时时间太小。由于某种原因,它与.net远程处理不太友好,并且它不会向客户端返回任何超时异常。通过增加超时来解决问题。