在一个进程中加载​​的最大appdomains数

时间:2010-11-09 16:03:01

标签: c# .net appdomain dynamic-loading

由于动态程序集加载需要appdomain加载以启用使用卸载相关appdomain来终止程序集,是否在要加载的进程中有“最大”数量的appdomains?我在想一个基于服务器的应用程序,每个用户都可以动态运行他的专有C#代码。但是,如果2000用户登录并加载他们的代码怎么办?除了appdomians的数量之外,我可能遇到任何可能的限制吗?

感谢。

3 个答案:

答案 0 :(得分:5)

我不相信CLR内置了最终的最大值。而是剩下的内存量决定了你是否可以动态加载新的appdomain。

我会做一些研究,但我认为没有为此设定价值。

编辑:

Here's另一个可能有助于澄清问题的帖子。

答案 1 :(得分:5)

几乎所有CLR限制都基于“作为内存允许”。我所知道的唯一例外是一个类的成员数,限制为65536.这是基于令牌值的定义。 AppDomains没有类似的东西。

答案 2 :(得分:1)

大多数情况下,它会由您的操作系统限制来定义。您的x86机器在内存中不能使用超过4GB的进程[在用户模式下只有2GB]。如果你选择x64,你有更大的限制。据我所知,您可以创建的应用程序域数量没有限制。