.NET リモート処理

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

同じコンピューター上にあるか、遠く離れた複数のコンピューター上にあるかに関係なく、異なるプロセスを実行するオブジェクト間に通信を確立することは、特に広範囲にわたる分散アプリケーションを構築する場合において、共通の開発目標となります。従来、この目標を実現するには、通信ストリームの両端を担うオブジェクトだけでなく、下位レベル プロトコルのホスト、アプリケーション プログラミング インターフェイス、そして構成ツールや構成ファイルに関する深い知識が必要でした。複雑な作業であるために、豊富な経験と専門的な取り組みを必要としていたのです。

.NET Framework には、プロトコルやエンコーディングに詳しくなくても、すばやく簡単に作業できるようにする通信方法がいくつか用意されています。したがって、Web アプリケーションを短期間で開発する必要がある場合と、複数のプロトコルやシリアル化した最適化を使って、多数のコンピューターやオペレーティング システム上で実行する全社的規模の重要なアプリケーションを長期にわたって構築する場合のどちらでも、.NET Framework は開発シナリオをサポートします。プロセス間通信が複雑な作業であることに変わりはありませんが、その作業の大半は .NET Framework で処理されるようになりました。

.NET リモート処理によって、クライアント アプリケーションが、同じコンピューターまたはネットワークで利用できる他の任意のコンピューターの、他のプロセスのオブジェクトを使用できます。また、.NET リモート処理を使用すると、同じプロセスの他のアプリケーション ドメインと通信できます。.NET リモート処理によって、プロセス間通信の抽象的な手法が提供されるため、特定のサーバーとクライアントのプロセスや特定の通信機構から、リモート処理が可能なオブジェクトを分離できます。この結果、柔軟性が向上し、カスタマイズも容易になります。クライアントまたはサーバーを再コンパイルせずに、通信プロトコルやシリアル化形式を別のものに変更できます。また、リモート処理システムは、特定のアプリケーション モデルを前提としません。Web アプリケーション、コンソール アプリケーション、Windows サービスなど、ほぼすべての種類のプログラムから通信できます。任意の種類の実行可能アプリケーションをリモート処理サーバーとして使用できます。どのようなアプリケーションでもリモート処理オブジェクトをホストできるため、同一のコンピューターまたはネットワーク上の任意のクライアントにサービスを提供できます。

このセクションの内容

  • リモート処理の例
    各種のリモート処理インフラストラクチャ要素を使用する完全なサンプル アプリケーションを紹介します。
  • リモート処理設定スキーマ
    リモート処理アプリケーションの構成ファイルに、カスタム設定を含めるために使用するタグについて説明します。

リファレンス

  • リモート処理設定スキーマ
    構成ファイルを使用して .NET リモート処理を構成する場合に使用する要素に関する参照情報を示します。
  • System.Runtime.Remoting
    分散アプリケーションを作成したり構成したりできるクラスとインターフェイスが用意されています。

関連項目

ビルド日:2010-02-13