应用程序域如何在异常处理中有用?

时间:2013-05-13 12:09:03

标签: .net-4.0 appdomain applicationdomain

我对应用程序域的概念了解不多。我们可以删除appdomain来卸载dll。 是否可以使用appdomain进行更好的异常处理?它是如何使用的?

1 个答案:

答案 0 :(得分:1)

据我所知,在子AppDomains中加载模块不会提供更好的异常处理。在AppDomain.UnhandledException Event的MSDN页面中,它注释:

  

从.NET Framework 2.0版开始,这个支持   子线程中未处理的异常被删除,因为   这种无声失败的累积效应包括性能   降级,损坏的数据和锁定,所有这些都很困难   调试。

这意味着即使代码在子AppDomain中执行,子线程中的未处理异常也会导致整个进程失效。

通常,子AppDomains用于您提及的程序集卸载功能,以及用于在沙箱中执行代码(受限制的安全环境)。