在我們的ASP.Net應用程序,我們通常試圖通過抓住他們有關的地方給最終用戶有用的錯誤信息來處理我們所有的例外,但有些例外,我們不可能趕上他們被拋出的地方。不Server.ClearError()防止IIS快速失敗保護
這是一個問題,我們的服務器設置,因爲我們希望保持快速IIS失敗保護工作如期進行,被寫入到我們的自定義錯誤日誌中的所有錯誤。所以爲了避免意外重置服務器和氾濫我們的錯誤日誌,我在Global.asax.cs中添加了一些代碼來抑制某些類型的錯誤。目前我們正在研究IIS本身拋出的兩種HttpExceptions,以防止太長的URL(基於maxUrlLength設置),並防止有錯誤的WebResource或ScriptResource請求。這些對於我們來說是不可能的,因爲一些網絡爬蟲生成它們。
什麼我想知道,這是我很難找到的任何地方的信息是:
- 可引用HttpExceptions甚至可能導致快速 失敗保護重新啓動服務器?我被告知,任何未被捕獲的異常都可能導致異常,但對我來說異常的這種異常應該能夠引起異常似乎不合邏輯。
- 如果我在Application_Error()事件中調用Server.ClearError(),是否足以抑制可能導致快速失敗保護重啓的錯誤? 還是現在已經太晚了?由於我們已經在響應未處理的異常的 進程中。