我有一个WCF服务,它托管在我们的某个环境中,仅在此环境中导致问题。如果请求执行时间超过5分钟,则服务正在丢弃。 (我计时了)
我为WCF服务启用了跟踪日志记录,发现生成的.svclog
文件没有任何兴趣。 EventViewer
中也没有任何内容。我注意到HTTPERR
文件中有一些日志。
httperr
2018-06-12 00:17:31 **.*.***.*** 40028 **.*.***.** 20601 - - - - - Timer_ConnectionIdle -
2018-06-12 00:45:47 **.*.***.** 30947 **.*.***.** 20601 - - - - - Timer_ConnectionIdle -
2018-06-12 00:47:57 **.*.***.** 53295 **.*.***.** 20601 - - - - - Timer_ConnectionIdle -
2018-06-12 00:47:57 **.*.***.** 47352 **.*.***.** 20601 - - - - - Timer_ConnectionIdle -
2018-06-12 00:59:44 **.*.***.** 25663 **.*.***.** 20601 - - - - - Timer_ConnectionIdle -
2018-06-12 01:04:50 **.*.***.** 35450 **.*.***.** 20601 - - - - - Timer_ConnectionIdle -
2018-06-12 01:07:40 **.*.***.** 48289 **.*.***.** 20601 - - - - - Timer_ConnectionIdle -
2018-06-12 01:19:36 **.*.***.*** 62695 *.*.***.** 20601 - - - - - Timer_ConnectionIdle -
2018-06-12 01:20:56 **.*.***.*** 57339 *.*.***.** 20601 - - - - - Timer_ConnectionIdle -
2018-06-12 01:26:46 **.*.***.*** 42058 *.*.***.** 20601 - - - - - Timer_ConnectionIdle -
2018-06-12 02:14:52 **.*.***.*** 59815 *.*.***.** 20601 - - - - - Timer_ConnectionIdle -
2018-06-12 02:38:12 **.*.***.*** 2487 *.*.***.* 20601 - - - - - Timer_ConnectionIdle -
2018-06-12 06:14:37 **.*.***.*** 47072 *.*.***.** 80 - - - 400 - Verb -
2018-06-12 13:03:52 **.*.***.** 23883 *.*.*.** 20601 - - - - - Timer_ConnectionIdle -
2018-06-12 13:08:47 **.*.***.** 32002 *.*.*.** 20601 HTTP/1.1 POST /SomeUrl/SomeService.svc - 2 Connection_Dropped Foo-SomeService-AppPool
2018-06-12 13:32:22 **.*.***.** 45018 *.*.*.** 20601 HTTP/1.1 POST /SomeUrl/SomeService.svc - 2 Connection_Dropped Foo-SomeService-AppPool
我检查了Timer_ConnectionIdle
docs并增加了IIS中网站中的Connection Timeout
设置,但同样的情况也发生了。 (从120
增加到240
)。我不理解httperr
文件的DateTime
字段有什么奇怪之处。Timer_ConnectionIdle
字段。 00:17:31
从13:08:47
开始,但它应该早于Connection_Dropped
删除它们。
docs中的Connection_Dropped
表示:
由于客户端在记录响应之前断开连接(或重置),IIS无法在指定的时间限制(1分钟)内返回日志记录数据。
因此,在IIS甚至有机会记录它丢弃的原因之前,连接已被删除。还有什么可能导致应用程序池中的echo "<table>"
tail -n +2 $CSV_FN | \
sed -e 's/^/<tr><td>/' -e 's/;/<\/td><td>/g' -e 's/$/<\/td><\/tr>/'
echo "</table>"
?