我对反射还很陌生,我想知道我会使用(第二个)AppDomain 做什么?在业务应用程序中会有什么实际应用程序?
最佳答案
有很多用途。辅助 AppDomain 可以提供一定程度的隔离,类似于操作系统提供的进程隔离。
我使用它的一个实际用途是动态加载“插件”DLL。我想支持在主可执行文件启动时扫描目录中的 DLL,加载它们并检查它们的类型以查看是否有任何实现特定接口(interface)(即插件的契约(Contract))。如果不创建辅助 AppDomain,您将无法卸载可能没有实现所寻求接口(interface)的任何类型的 DLL/程序集。与其在您的流程中携带额外的程序集和类型等,您可以创建一个辅助 AppDomain,在那里加载程序集,然后检查类型。完成后,您可以摆脱辅助 AppDomain 以及您的类型。
关于.net-2.0 - 我什么时候使用 AppDomain?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/786923/