.NET リモート処理
このトピックの対象は、既存のアプリケーションとの下位互換性のために残されているレガシ テクノロジに特定されています。新規の開発には、このトピックを適用しないでください。分散アプリケーションは、現在は Windows Communication Foundation (WCF) を使用して開発する必要があります。
同じコンピューター上にあるか、遠く離れた複数のコンピューター上にあるかに関係なく、異なるプロセスを実行するオブジェクト間に通信を確立することは、特に広範囲にわたる分散アプリケーションを構築する場合において、共通の開発目標となります。従来、この目標を実現するには、通信ストリームの両端を担うオブジェクトだけでなく、下位レベル プロトコルのホスト、アプリケーション プログラミング インターフェイス、そして構成ツールや構成ファイルに関する深い知識が必要でした。複雑な作業であるために、豊富な経験と専門的な取り組みを必要としていたのです。
.NET Framework には、プロトコルやエンコーディングに詳しくなくても、すばやく簡単に作業できるようにする通信方法がいくつか用意されています。したがって、Web アプリケーションを短期間で開発する必要がある場合と、複数のプロトコルやシリアル化した最適化を使って、多数のコンピューターやオペレーティング システム上で実行する全社的規模の重要なアプリケーションを長期にわたって構築する場合のどちらでも、.NET Framework は開発シナリオをサポートします。プロセス間通信が複雑な作業であることに変わりはありませんが、その作業の大半は .NET Framework で処理されるようになりました。
.NET リモート処理によって、クライアント アプリケーションが、同じコンピューターまたはネットワークで利用できる他の任意のコンピューターの、他のプロセスのオブジェクトを使用できます。また、.NET リモート処理を使用すると、同じプロセスの他のアプリケーション ドメインと通信できます。.NET リモート処理によって、プロセス間通信の抽象的な手法が提供されるため、特定のサーバーとクライアントのプロセスや特定の通信機構から、リモート処理が可能なオブジェクトを分離できます。この結果、柔軟性が向上し、カスタマイズも容易になります。クライアントまたはサーバーを再コンパイルせずに、通信プロトコルやシリアル化形式を別のものに変更できます。また、リモート処理システムは、特定のアプリケーション モデルを前提としません。Web アプリケーション、コンソール アプリケーション、Windows サービスなど、ほぼすべての種類のプログラムから通信できます。任意の種類の実行可能アプリケーションをリモート処理サーバーとして使用できます。どのようなアプリケーションでもリモート処理オブジェクトをホストできるため、同一のコンピューターまたはネットワーク上の任意のクライアントにサービスを提供できます。
このセクションの内容
- .NET での通信オプションの選択
アプリケーション ドメイン間通信に利用できる .NET Framework のオプションについて説明します。
- .NET Framework リモート処理の概要
.NET リモート処理に関する専門的な概要と、詳細な情報を示します。
- 高度なリモート処理
高度な通信を実現するための、さまざまな方法に関する情報を提供します。
- リモート処理の例
各種のリモート処理インフラストラクチャ要素を使用する完全なサンプル アプリケーションを紹介します。
- リモート処理設定スキーマ
リモート処理アプリケーションの構成ファイルに、カスタム設定を含めるために使用するタグについて説明します。
- リモート処理パフォーマンス カウンター
アプリケーションが使用するリモート オブジェクトに関する情報を提供するパフォーマンス カウンターについて説明します。
リファレンス
- リモート処理設定スキーマ
構成ファイルを使用して .NET リモート処理を構成する場合に使用する要素に関する参照情報を示します。
- System.Runtime.Remoting
分散アプリケーションを作成したり構成したりできるクラスとインターフェイスが用意されています。
関連項目
- 境界 : プロセスとアプリケーション ドメイン
アプリケーション ドメインと、その共通言語ランタイムでの使用に関する概要を示します。
ビルド日:2010-02-13