我正在使用C#編寫適用於.NET 4.5.1的MVC web應用程序,我正在使用一個外部dll庫。似乎這個庫偶爾會拋出AccessViolationException。ASP.NET MVC應用程序是否在AccessViolationException中自動重啓?
我試圖捕獲異常與
[HandleProcessCorruptedStateExceptions]
屬性及與
HttpRuntime.UnloadAppDomain();
重啓catch塊中的應用程序。 這工作有點好,但有時這種異常旁路嘗試阻止和崩潰。
IIS是否處理崩潰並通過重新啓動自動從此異常中恢復應用程序,或者是否有我需要做的事情?
IIS應該從故障中恢復並回收,並使站點備份。確保使用web.config中定義的機器鍵來限制最終用戶出現問題。 – 2014-09-29 20:05:45
至於我,你需要找到爲什麼外部庫失敗,並嘗試避免這種情況,因爲重新啓動應用程序池是非常不友好的WebApp用戶,因爲它會導致會話丟失\延遲由於應用程序域重新啓動 – 2014-09-29 20:21:30