基本的なリモート処理タスクの一覧

.NET リモート処理は、.NET Framework を使用してアプリケーション ドメイン間で通信を確立する方法の 1 つです。分散アプリケーション用に特定の開発モデルを選択する前に、アプリケーションに必要な機能を決定し、使用できるリソースを検討する必要があります。詳細については、「.NET での通信オプションの選択」を参照してください。次のタスク一覧では、基本的な .NET リモート処理アプリケーションを構築するための主要な手順を示します。

リモート処理が可能な型のタスク

リモート処理が可能な型を定義します。リモート処理が可能な型は、MarshalByRefObject から派生させる必要があります。リモート処理が可能な型を含んでいるアセンブリは、サーバー アプリケーションだけでなくクライアント アプリケーションでも参照する必要があります。クライアント アプリケーションで実装アセンブリを参照しない場合は、soapsuds.exe ツールを使用してスタブ アセンブリを生成し、そのアセンブリをクライアント アプリケーションで参照できます。あるいは、共有アセンブリでインターフェイスを定義し、そのインターフェイスをリモート オブジェクトに実装して、クライアント アプリケーションでその共有アセンブリを参照することもできます。この方法の唯一の欠点は、構成ファイルを使用してクライアントを構成する際に、new 演算子を使用してリモート オブジェクトをインスタンス化できないことです。リモート オブジェクトをインスタンス化するには、GetObject を呼び出す必要があります。

ホストのタスク

アプリケーション ドメインの外部から使用するリモート オブジェクトを公開するには

  1. サービスをデザインします。

    1. ホスト アプリケーションの種類を選択します。詳細については、「方法 : ホスト アプリケーションを構築する」を参照してください。

    2. アクティベーション モードを選択します。詳細については、「リモート オブジェクトのアクティベーション」を参照してください。

    3. チャネルとポートを選択します。詳細については、「チャネルの選択」を参照してください。

  2. ホスト アプリケーションを実装します。リモート処理ホストには、Windows サービス、コンソール アプリケーション、Windows フォーム アプリケーション、インターネット インフォメーション サービス (IIS : Internet Information Services) プロセス、または ASP.NET アプリケーションを使用できます。アプリケーションの種類ごとに要件が異なるため、目的の種類のアプリケーションを構築する方法について説明しているドキュメントを参照してください。ホストで、リモート処理システムのアクティベーション モードと、アプリケーション名やオブジェクト URI (Uniform Resource Identifier) などのその他の情報を構成します。プログラムを使ってシステムを構成する場合は、構成ファイルを使用する必要はありません。構成ファイルを使用する場合は、RemotingConfiguration.Configure を呼び出して、そのファイルをシステムに読み込む必要があります。

  3. ホストで、適切なチャネルを作成し、ChannelServices.RegisterChannel を呼び出してそのチャネルをシステムに登録します。構成ファイルを使用する場合は、RemotingConfiguration.Configure を呼び出して、そのファイルをシステムに読み込む必要があります。

  4. ホストは、リモート オブジェクトのアセンブリを参照する必要があります。

クライアントのタスク

アプリケーション ドメインの外部から使用するサービスを利用するには

  1. クライアントをデザインします。

    1. クライアント アプリケーション ドメインを選択します。

    2. アクティベーション モードと、リモート型のクライアント アクティベーション URL または既知のオブジェクトの URL を決定します。

    3. チャネルとポートを登録する必要があるかどうかを検討します。

    4. リモート型のメタデータを取得します。

  2. クライアント アプリケーションを実装します。リモート処理ホストには、Windows サービス、コンソール アプリケーション、Windows フォーム アプリケーション、IIS プロセス、または ASP.NET アプリケーションを使用できます。アプリケーションの種類ごとに要件が異なるため、目的の種類のアプリケーションを構築する方法について説明しているドキュメントを参照してください。

  3. クライアント リモート処理システムのアクティベーション モードおよびアプリケーション名やオブジェクト URI などのその他の情報を構成します。プログラムを使ってシステムを構成する場合は、構成ファイルを使用する必要はありません。構成ファイルを使用する場合は、RemotingConfiguration.Configure を呼び出して、そのファイルをシステムに読み込む必要があります。

  4. 適切なチャネルを作成し、ChannelServices.RegisterChannel を呼び出してそのチャネルをシステムに登録します。構成ファイルを使用する場合は、RemotingConfiguration.Configure を呼び出して、そのファイルをシステムに読み込む必要があります。

  5. リモート オブジェクトをインスタンス化して呼び出します。構成ファイルを使用してこのオブジェクトを構成した場合は、new 演算子を使用できます。プログラムを使用してこのオブジェクトを構成した場合は、GetObject を呼び出すことができます。

関連項目

概念

.NET での通信オプションの選択

その他の技術情報

基本的な .NET Framework リモート処理アプリケーションの構築
.NET Framework リモート処理の概要
リモート処理の例

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.