.net-2.0 - 我什么时候使用 AppDomain?

标签 .net-2.0 appdomain

我对反射还很陌生,我想知道我会使用(第二个)AppDomain 做什么?在业务应用程序中会有什么实际应用程序?

最佳答案

有很多用途。辅助 AppDomain 可以提供一定程度的隔离,类似于操作系统提供的进程隔离。

我使用它的一个实际用途是动态加载“插件”DLL。我想支持在主可执行文件启动时扫描目录中的 DLL,加载它们并检查它们的类型以查看是否有任何实现特定接口(interface)(即插件的契约(Contract))。如果不创建辅助 AppDomain,您将无法卸载可能没有实现所寻求接口(interface)的任何类型的 DLL/程序集。与其在您的流程中携带额外的程序集和类型等,您可以创建一个辅助 AppDomain,在那里加载程序集,然后检查类型。完成后,您可以摆脱辅助 AppDomain 以及您的类型。

关于.net-2.0 - 我什么时候使用 AppDomain?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/786923/

相关文章:

vb.net - 是否可以在设计时在富文本框中设置文本样式?

C# 在运行时传递泛型

.net - 如何在两个 .NET AppDomain 之间传递未知类型?

c# - 我可以告诉 CLR 通过引用在 AppDomain 之间编码(marshal)不可变对象(immutable对象)吗?

winforms - 命名空间 'System.Drawing' 中不存在“矩形”

c# - 为什么不能从 Excel 互操作设置转换对象?

c# - 将 DLL 加载到单独的 AppDomain 中

c# - 如何检测应用程序何时终止?

c# - 在独立的可重用库中的 AutoMapper 中创建 map 的推荐方法是什么?

c# - 在使用 MySqlTransaction 方面需要帮助