1

我打算编写一个游戏,用户必须编写自己的 C# 代码才能玩它。由于我不能信任用户提交的代码,我想为每个用户创建一个 AppDomain。每个用户都可以编写几个类,所以我需要动态编译和实例化每个类。其中一些类将有多个实例。

我不想限制用户数量,但可以说注册了几百个用户。这意味着我需要几百个 AppDomain,并且我正在编译/实例化更多的用户代码类。

在达到前面提到的用户数量之前,我是否会更早地达到任何限制?(CPU/内存)

4

1 回答 1

1

您可以创建的 AppDomain 数量受可用内存量的限制。因此,内存越多,您可以创建的 AppDomain 就越多。CLR 没有施加任何限制。

如果您想找出您愿意在其上运行应用程序的特定操作系统/硬件具有的 AppDomain 数量,您可以编写一个简单的应用程序,以恒定的速率吐出 AppDomain,看看在崩溃之前您能走多远。虽然不是精确值,但它可以为您提供一个很好的近似值。

于 2011-08-03T14:14:27.123 回答