1

私はゲームを書くことを計画しています。そこでは、ユーザーがそれをプレイするために彼自身のC#コードを書かなければなりません。ユーザーが送信したコードを信頼できないため、ユーザーごとにAppDomainを作成します。各ユーザーは複数のクラスを作成できるため、各クラスを動的にコンパイルしてインスタンス化する必要があります。それらのクラスのいくつかが複数のインスタンスを持つ場合。

ユーザー数を制限したくありませんが、数百人のユーザーが登録されているとしましょう。つまり、数百のAppDomainが必要であり、さらに多くのユーザーコードクラスをコンパイル/インスタンス化しています。

前述のユーザー数に達する前に、はるかに早くヒットする制限はありますか?(CPU /メモリ)

4

1 に答える 1

1

作成できるAppDomainの数は、使用可能なメモリの量によって制限されます。したがって、メモリが多いほど、作成できるAppDomainの数も多くなります。CLRによって課される制限はありません。

また、アプリケーションを実行する特定のOS /ハードウェアが持つAppDomainの数を知りたい場合は、AppDomainを一定の速度で吐き出し、クラッシュする前にどこまで到達できるかを確認する簡単なアプリケーションを作成できます。正確な値ではありませんが、適切な近似値が得られる可能性があります。

于 2011-08-03T14:14:27.123 に答える