繁体   English   中英

在IIS应用程序池回收期间调试应用程序行为

[英]Debugging application behavior during IIS App pool recycle

我有一个用C#编写的Web服务。 在池回收期间,它的行为相当奇怪。

如果我配置了一个包含5个工作进程的池,则应在说100个请求后进行回收(在生产中实际上是10000个,但不要紧记)。 对于每个进程的前100个(即500个请求),我都得到了正确的响应,但是在此之后,某些请求返回了不正确的结果(我也得到了超时,但这是可以的,因为进程正在回收)。

由于这些不正确的结果似乎是在回收之后发生的,因此在服务启动时,仅附加调试器并查看会发生什么是很困难的(因为在回收发生时调试器会被分离)。

所以我的问题是:
1.有人知道调试这种事情的好方法吗

编辑:2。一个碰巧对什么地方有错误的想法的人(服务在请求之间没有状态信息)-通过连接调试器并幸运地看到一个异常(在全局异常处理程序中-上帝,我发现了错误)我讨厌那些):但是第一个问题仍然存在。 有没有比附加调试器更简单的方法,希望您能及时看到错误。

您应该弄清楚什么是不正确的结果。 如果不是.NET错误,则应检查代码并在自己的代码上添加一些应用程序级别的日志记录。

调试器仅在您无其他手段时才可以提供帮助。

我现在最终要做的是删除大多数“半全局” try / catch / no-thing处理程序,然后编写SoapExtension来处理“未处理的异常”,并转储所有我可以走近一点。

我从Jeff Atwood在CodeProject上的文章中获得了最大的启发: http : //www.codeproject.com/kb/aspnet/ASPNETExceptionHandling.aspx

它与附加调试器并不完全相同,但现在必须这样做。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM