咱们用到多个 AppDomain 处理特殊代码,好比插件。但遇到 AppDomain 内新线程内异常时将没法处理,由于 线程不属于任何一个 AppDomain ,因此会致使 进程崩溃。插件
但咱们能够使用一个守护进程,使用AppDomain.UnhandledException 事件 处理异常并知道是那个 AppDomain 发生的异常,由于在处理UnhandledException事件时,系统会挂起进程的终止,因此咱们能够使用一个 Thread.Join() 方法等待全部 AppDomain 当前工做处理完成后,从新启动当前进程,至于怎么判断当前工做是否处理完成,那就要看具体的业务规则了。线程
PS:这是我遇到这个问题的处理办法在这里记录下,若是你用更好的方法的话请回复或留言告诉我,谢谢 ^-^进程