アプリケーション ドメインとアプリケーション プールの違いは何ですか?
私は、これら 2 つの用語に関する多くの記事を読みました。しかし、まだそれらについて適切な理解を得ることができません。
簡単な説明で詳しく説明してください。
ありがとう
アプリケーション ドメインとアプリケーション プールの違いは何ですか?
私は、これら 2 つの用語に関する多くの記事を読みました。しかし、まだそれらについて適切な理解を得ることができません。
簡単な説明で詳しく説明してください。
ありがとう
IIS プロセスは w3wp です。IIS のすべてのアプリケーション プールは、独自のプロセスを使用します。AppPool1 はプロセス 3784 を使用し、AppPool2 はプロセス 5044 を使用します。Asp.net の異なるアプリケーションは異なる AppDomain を使用します。
AppTest1 と AppTest2 は異なる AppDomain にありますが、同じプロセスにあります。
それらを使用するポイントは何ですか?
アプリケーション プールと AppDomain は、どちらも分離を提供できますが、異なるアプローチを使用します。アプリケーション プールは、このプロセスを使用して、.NET なしで動作するアプリケーションを分離します。しかし、AppDomain は .NET が提供する別の分離方法です。サーバーが何千もの Web サイトをホストしている場合、実行中のプロセスが多すぎると OS が強制終了されるため、何千ものアプリケーション プールを使用して Web サイトを分離することはありません。ただし、アプリケーション プールが必要になる場合もあります。アプリケーション プールの利点の 1 つは、アプリケーション プールの ID を構成できることです。また、アプリケーション プールをリサイクルするためのより柔軟なオプションもあります。少なくとも現時点では、IIS は appdomain をリサイクルするための明示的なオプションを提供していませんでした。
アプリケーション プールは、さまざまな Web アプリケーションおよび Web サイトの 1 つ以上の URL のグループです。任意の Web ディレクトリまたは仮想ディレクトリをアプリケーション プールに割り当てることができます。アプリケーション プール内のすべてのアプリケーションは、同じワーカー プロセス実行可能ファイル W3wp.exe を共有します。あるアプリケーション プールにサービスを提供するワーカー プロセスは、別のアプリケーション プールにサービスを提供するワーカー プロセスから分離されています [MS Word を起動して多数の Word 文書を開くように]。アプリケーションが 1 つのアプリケーション プールに割り当てられている場合に、他のアプリケーション プールの問題がそのアプリケーションに影響を与えないように、個別のワーカー プロセスごとにプロセス境界が提供されます。これにより、ワーカー プロセスが失敗しても、他のアプリケーション プールで実行されているアプリケーションには影響しません。[ie] たとえば、Word 文書に問題がある場合、論理的には Excel シートに影響を与えるべきではありません。アプリケーション ドメインは、実行されたソフトウェア アプリケーションを互いに影響を与えないように分離するために使用されるメカニズム (オペレーティング システムのプロセスに似ています) です。[つまり] MS WORD を開いても MS EXCEL には影響しません。アプリケーション間に依存関係がないため、いつでも両方のアプリケーションを開いたり閉じたりできます。各アプリケーション ドメインには、そのアドレス空間を使用してアプリケーション ドメインのリソースのスコープを設定する独自の仮想アドレス空間があります。
このリンクのおかげで