關於 AppDomain 未知異常致使進程崩潰的處理辦法

咱們用到多個 AppDomain 處理特殊代碼,好比插件。但遇到 AppDomain 內新線程內異常時將沒法處理,由於 線程不屬於任何一個 AppDomain ,因此會致使 進程崩潰。插件

但咱們能夠使用一個守護進程,使用AppDomain.UnhandledException 事件 處理異常並知道是那個 AppDomain 發生的異常,由於在處理UnhandledException事件時,系統會掛起進程的終止,因此咱們能夠使用一個 Thread.Join() 方法等待全部 AppDomain 當前工做處理完成後,從新啓動當前進程,至於怎麼判斷當前工做是否處理完成,那就要看具體的業務規則了。線程

PS:這是我遇到這個問題的處理辦法在這裏記錄下,若是你用更好的方法的話請回復或留言告訴我,謝謝 ^-^進程

相關文章
相關標籤/搜索