我对反射相当陌生,我想知道我会使用(第二个)AppDomain 做什么?在商业应用中会有什么实际应用?
有很多用途。辅助 AppDomain 可以提供一定程度的隔离,类似于操作系统提供的进程隔离。
我使用它的一个实际用途是动态加载“插件”DLL。我想支持在主可执行文件启动时扫描目录中的 DLL,加载它们并检查它们的类型以查看是否有任何实现了特定接口(即插件的合同)。如果不创建辅助 AppDomain,您将无法卸载可能不具有任何实现所需接口的类型的 DLL/程序集。您可以创建一个辅助 AppDomain,在其中加载程序集,然后检查类型,而不是在流程中携带额外的程序集和类型等。完成后,您可以删除辅助 AppDomain 以及您的类型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)