首页 新闻 会员 周边

.Net 进程中多个应用程序域(AppDomain)会影响性能吗?

-3
悬赏园豆:20 [待解决问题]

项目中有需求,需要运行过程中对加载的dll有卸载更新替换的功能,不能停止进程,进程中会加载多个dll,最大数量大概1000左右,考虑到卸载其中一个不影响其它999个的运行,那么就意味着需要建立1000个独立的AppDomain,现在的问题是,进程中建立多个AppDomain相比一个AppDomain会影响性能吗?

garry的主页 garry | 菜鸟二级 | 园豆:495
提问于:2013-06-25 15:37
< >
分享
所有回答(2)
-1

这个需求有点蛋疼。应用程序域是应用程序的最小单元,建立过多的应用程序与肯定会影响性能的。所以不建议建立1000个应用程序域,你可以对DLL分类进行加载。将级别类似的DLL放进同一个应用程序域中

朝曦 | 园豆:1073 (小虾三级) | 2013-06-25 22:01

分类分下来就是1000个类别的dll啊,每个dll代表了一个独立的单元.

需求决定了应用程序必须要用这么多应用程序域啊.或者这么说,在.net中有没有更好的方式能让1000个独立的dll不需要停止进程的情况下,互不影响的加载,卸载,替换呢?

建立过多的应用程序与肯定会影响性能的,

主要影响的细节在哪里啊,我想了解影响的程度到底有多大?

支持(0) 反对(0) garry | 园豆:495 (菜鸟二级) | 2013-06-26 13:39
0

反射加载dll好像不用停止进程吧?

Invictus | 园豆:76 (初学一级) | 2013-06-27 10:25

加载dll不用停止进程,但是卸载就需要了,运行中替换的话也要停止进程吧,假设不用应用程序域的情况下?

支持(0) 反对(0) garry | 园豆:495 (菜鸟二级) | 2013-06-27 17:23

@garry: 不太占空间的话,就一直往里边加呗,用的时候一直用最新的。软件升级不都是要停止进程,用户这个需求有点儿二

支持(0) 反对(0) Invictus | 园豆:76 (初学一级) | 2013-06-29 10:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册