簡體   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