IIS配置设置或web.config设置,用于终止工作进程下的任何长挂起请求进程

时间:2017-07-20 06:45:49

标签: .net forms iis web

我正在开发使用.NET 4.5.1框架作为WebForm应用程序开发的面向公众的应用程序。

我们经常遇到应用程序缓慢的问题,当我们调查问题时,我们发现应用程序池上有很长时间的请求。

我们已将应用程序池队列长度定义为1000,并在“限制”

下设置120秒作为连接超时

是否有任何IIS配置设置或web.config设置来终止工作进程下的任何长待处理请求进程?

我们有Windows 2012 R2和IIS 8.0

此应用程序也使用" in-proc"作为会话管理。 我们在生产环境中设置编译debug =" false" 跟踪已启用=" false"

任何解决方案

2 个答案:

答案 0 :(得分:0)

我不知道这是否是您的问题,但在一段时间不活动后,IIS会暂时停止ApplicationPool以节省资源。如果您的应用程序的启动时间非常长并且在一段时间内未被访问,那么在这种情况下您可能会遇到挂起。

克服问题

您可以禁用因不活动而被回收的AppPool。从IIS管理器中选择您的AppPool。在操作窗格中,应该有一个回收项。这将打开一个对话框,您可以在其中更改AppPool将被回收时的设置。默认值应该在一段时间之后,但也有其他选项。

Further Reading about AppPool Recycling

答案 1 :(得分:0)

是的,您需要将其作为web.config的一部分

<system.web>
    <httpRuntime executionTimeout="180" />
</system.web>

这样您可以以秒为单位设置限制。但是,你的超时请求可能很重要,所以我相信你应该优化它们,摆脱无限循环等等。至于您要求的限制,您可以阅读更多here