我什么时候会使用AppDomain?

C. *_*oss 7 appdomain .net-2.0

我对反思很新,我很想知道我会用什么(第二个)AppDomain?在业务应用程序中有什么实际应用?

Pet*_*yer 9

有很多用途.辅助AppDomain可以提供一定程度的隔离,类似于OS提供进程的隔离.

我用它的一个实际用途是动态加载"插件"DLL.我想支持在主可执行文件启动时扫描目录以获取DLL,加载它们并检查它们的类型以查看是否有任何实现特定接口(即插件的合同).在不创建辅助AppDomain的情况下,您无法卸载可能没有任何实现所寻求接口的类型的DLL /程序集.您可以创建辅助AppDomain,在那里加载程序集,然后检查类型,而不是在进程中携带额外的程序集和类型等.当你完成后,你可以摆脱辅助AppDomain,从而摆脱你的类型.