境界 : プロセスとアプリケーション ドメイン

このトピックの対象は、既存のアプリケーションとの下位互換性のために残されているレガシ テクノロジに特定されています。新規の開発には、このトピックを適用しないでください。分散アプリケーションは、現在は Windows Communication Foundation (WCF) を使用して開発する必要があります。

現代のオペレーティング システムや実行環境では、それぞれのアプリケーションを他のアプリケーションのエラーから保護する必要があります。この保護機構は、プロセスおよびアプリケーション ドメインを使用して実装されます。

プロセス

Windows オペレーティング システムでは、各アプリケーションを専用のプロセス内で実行することにより、アプリケーションを他のアプリケーションから保護しています。アプリケーションに障害が発生しても、影響を受けるのはそのプロセスだけで、他のプロセスのアプリケーションは実行を継続します。あるプロセス内でのメモリ アドレスは他のプロセスでは意味を持たないため、任意のプロセス内にある関数を他のプロセスから呼び出すことは複雑な処理になる場合があります。マーシャリングとは、プロセス境界を越えて呼び出しができるように、呼び出しや引数が一方のプロセスでパッケージ化され、他方のプロセスでパッケージ化が解除されるときに発生するイベントを表す用語です。

アプリケーション ドメイン

マネージ環境では、アプリケーション ドメイン (または論理プロセス) とコンテキストにより、比較的少ないコストでプロセスどうしを分離し、セキュリティを実現できます。また、特にマネージ コードが検証可能なタイプ セーフ コードであるという事実を考慮すると、アプリケーション ドメインはオペレーティング システム プロセスよりもスケーラビリティの点で優れています。すべてのマネージ アプリケーションはアプリケーション ドメインで実行されますが、ドメイン自体は他のアプリケーションによって、またはホスト環境によって開始されます。.NET リモート処理を使用すると、セキュリティ技術によって保護された直接的な通信をアプリケーション ドメイン間で実行するインフラストラクチャを利用できるようになります。

参照

概念

境界 : プロセスとアプリケーション ドメイン

その他のリソース

オブジェクトをリモート処理可能にする