我对应用程序域的概念知之甚少。我们可以删除appdomain来卸载dll。是否可以使用 appdomain 进行更好的异常处理?如何使用?
问问题
43 次
1 回答
1
据我所知,在 child 中加载模块AppDomains
不会提供更好的异常处理。在AppDomain.UnhandledException Event的 MSDN 页面中,它指出:
从 .NET Framework 2.0 版开始,删除了对子线程中未处理异常的支持,因为这种静默故障的累积影响包括性能下降、数据损坏和锁定,所有这些都难以调试。
这意味着即使代码在子 AppDomain 中执行,子线程中未处理的异常也会导致整个进程停止运行。
通常 childAppDomains
用于您提到的程序集卸载功能,以及在沙箱(受限安全环境)中执行代码。
于 2013-05-14T13:03:04.150 回答