连接断开不会超时

时间:2013-10-14 21:41:08

标签: c# asp.net asp.net-web-api

我们有一个基本的ASP Web API设置:单个ApiController,其中有许多方法被配置为POST请求的终点。这些接收相当大的JSON流,通过[FromBody]属性反序列化。

如果连接中断/终止,请求将保留在IIS工作进程请求队列中。他们似乎没有超时。更糟糕的是,由于RequestHandler中的某些正在保持忙碌,在一系列失败和“卡住”请求之后,CPU消耗接近100%。记录表明ApiController中的操作方法尚未执行。

简短地讲述一个大故事。我可以做些什么来让这些方法超时,以便将它们从队列中删除?正常的web.config似乎不起作用。

2 个答案:

答案 0 :(得分:2)

在大多数情况下编译debug = true是问题.. Here是关于类似问题的更多讨论。 如果这也没有帮助...当CPU消耗接近100%时采取w3wp进程的内存转储并使用Windows调试工具进行转储分析..

答案 1 :(得分:0)

您可以配置应用程序池的回收设置。在IIS的此设置中,您可以使用计划,请求编号或特定的MB限制来回收应用程序池。