.NET中应用程序域的常见用法和最佳实践?

Tay*_*ese 6 .net c# applicationdomain

何时在应用程序中创建新的应用程序域有哪些指导原则和最佳实践?

此外,在应用程序中如何使用多个应用程序域的一些常见用途和示例是什么?

Ree*_*sey 7

我见过的最常见的情况是能够使用与主程序不同的安全模型提供可扩展性.

在单独的AppDomain中加载插件允许两件事:

  1. 您可以实施更受限制的安全模型
  2. 如果插件有问题,您可以阻止插件拆除应用程序

AppDomains的另一个好用途是加载和检查程序集.在单独的AppDomain中执行此操作允许您从单独的程序集中收集信息(或运行代码),然后从进程的空间卸载整个程序集.如果直接加载程序集,则无法卸载它.如果您希望能够在运行时将类型"升级"为新版本(即:加载远程程序集,稍后重新加载),这也很有用.

  • 这取决于你如何做事.可以设置应用程序域,因此将其拆除不会破坏该过程.请参阅http://msdn.microsoft.com/en-us/library/2bh4z9hs.aspx上的第一个列出的权益 (3认同)

Vit*_*sky 5

当您需要在应用程序中托管不可靠或不信任它们的第三方组件(如插件)或者您希望能够卸载它们时,建议创建新域.