我打算写一个游戏,用户必须编写自己的C#代码才能玩它。 由于我无法信任用户提交的代码,我想为每个用户创建一个AppDomain。 每个用户都可以编写几个类,因此我需要动态编译和实例化每个类。其中一些类将有多个实例。
我不想限制用户数,但可以说已经注册了几百个用户。 意思是我需要几百个AppDomains并且我正在编译/实例化更多的用户代码类。
在达到前面提到的用户数之前,我是否会遇到任何限制? (CPU /存储器)
答案 0 :(得分:1)
您可以创建的AppDomain数量受可用内存量的限制。因此,内存越多,您可以创建的AppDomain越多。 CLR没有限制。
如果您想了解您愿意运行应用程序的特定操作系统/硬件的AppDomain数量,您可以编写一个简单的应用程序,以恒定的速率吐出AppDomains并查看您可以走多远在崩溃之前。虽然不是确切的值,但它可以给你一个很好的近似值。