6

動的アセンブリの読み込みには、関連する appdomain をアンロードしてアセンブリを強制終了できるようにするために appdomain の読み込みが必要なため、読み込まれるプロセスには「最大」数の appdomain がありますか? 各ユーザーが独自の C# コードを動的に実行できるサーバー ベースのアプリケーションを考えています。しかし、たとえば 2000 人のユーザーがログインしてコードを読み込んだ場合はどうなるでしょうか。appdomian の数以外に、発生する可能性のある制限はありますか?

ありがとう。

4

3 に答える 3

7

ほとんどすべての CLR 制限は、「メモリが許す限り」に基づいています。私が知っている唯一の例外は、クラスのメンバー数が 65536 に制限されていることです。これは、トークン値の定義に基づいています。AppDomains ではそのようなことはありません。

于 2010-11-09T17:58:38.583 に答える
5

CLRに組み込まれている決定的な最大値があるとは思いません。むしろ、新しいアプリドメインを動的にロードできるかどうかを決定するのは、残っているメモリの量です。

少し調べてみますが、これに値が設定されているとは思いません。

編集:

これは、物事を解決するのに役立つかもしれない別の投稿です。

于 2010-11-09T16:18:22.327 に答える
1

ほとんどの場合、OS の制限によって定義されます。x86 マシンでは、プロセスに 4 GB を超えるメモリを使用できません [ユーザー モードでは 2 GB のみ]。x64 を使用する場合は、はるかに大きな制限があります。私の知る限り、作成できるアプリケーション ドメインの数にそのような制限はありません。

于 2010-11-09T16:20:41.937 に答える