次の方法で共有


リモート オブジェクトの設定

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

リモート処理可能オブジェクトを公開または利用する開発者は、.NET リモート処理を使用するアプリケーションが正しく機能するように .NET リモート処理システムを設定する必要があります。リモート処理システムの設定は、プログラムによって、またはアプリケーション構成ファイルやコンピューター構成ファイルを使用して行います。これにより、管理者は、必要に応じて .NET Framework 構成ツールを使用して、さまざまなエンドポイントにあるリモート処理クライアントを指定したり、クライアント側でアクティブ化される (<activated>) オブジェクトまたはサーバー側でアクティブ化される (<wellknown>) オブジェクトの有効期間を変更したりできます。

<system.runtime.remoting> 要素の子要素である <application> 要素の内部に対象となるクラスを配置することにより、リモート処理可能なクラスを登録します。1 つのアプリケーションがアクセスするオブジェクトは、リモート アプリケーションによって <application> 要素内の <client> セクションの下にグループ化されます。1 つのアプリケーションが公開するオブジェクトは、<application> ノード内の <service> セクションで宣言されます。インターネット インフォメーション サービス (IIS: Internet Information Services) のリモート型をホストしていない場合は、アクティベーション URL の一部になるアプリケーションの name 属性を指定できますが、この指定は必須ではありません。IIS でのホストの詳細については「インターネット インフォメーション サービス (IIS) でのリモート オブジェクトのホスト」を参照してください。

また、.NET リモート処理では、アプリケーション構成ファイルでリモート処理構成値が自動的に選択されません。構成ファイルを使用してリモート処理を構成するには、RemotingConfiguration.Configure を呼び出す必要があります。ホスト アプリケーション ドメインがリモート処理構成ファイルを自動的に読み込むのは、リモート処理可能な型が IIS でホストされている場合だけです。この場合は、.NET リモート処理で Web.config ファイルからサービスの設定だけが自動的に選択されます。RemotingConfiguration.Configure メソッドの直接呼び出しで構成ファイルが再び読み込まれるまで、クライアントの設定は無視されます。

.NET リモート処理を使用するアプリケーションを構成するために使用できる要素の構造体を次のスキーマに示します。

<configuration>

<system.runtime.remoting>

<application>

<lifetime>

<channels> (インスタンス)

<channel> (インスタンス)

<serverProviders> (インスタンス)

<provider> (インスタンス)

<formatter> (インスタンス)

<clientProviders> (インスタンス)

<provider> (インスタンス)

<formatter> (インスタンス)

<client>

<wellknown> (クライアント インスタンス)

<activated> (クライアント インスタンス)

<service>

<wellknown> (サービス インスタンス)

<activated> (サービス インスタンス)

<soapInterop>

<interopXmlType>

<interopXmlElement>

<preLoad>

<channels> (テンプレート)

<channel> (テンプレート)

<serverProviders> (インスタンス)

<provider> (インスタンス)

<formatter> (インスタンス)

<clientProviders> (インスタンス)

<provider> (インスタンス)

<formatter> (インスタンス)

<channelSinkProviders>

<serverProviders> (テンプレート)

<provider> (テンプレート)

<formatter> (テンプレート)

<clientProviders> (テンプレート)

<provider> (テンプレート)

<formatter> (テンプレート)

<debug>

リモート処理設定を使用するには、アプリケーション構成ファイルの RemotingConfiguration.Configure を呼び出す必要があります。共通言語ランタイムによって、アプリケーション構成ファイルが読み込まれる前にコンピューター構成ファイルが自動的に読み込まれます。コンピューター構成ファイルの RemotingConfiguration.Configure を呼び出さないでください。RemotingConfiguration.Configure を呼び出すと、既にメモリに存在するオブジェクトを再度読み込むときに例外が発生します。

有効期間の設定

<lifetime> 要素を使用して、アプリケーションのすべてのクライアント側でアクティブ化されるオブジェクトと、サーバー側でアクティブ化される Singleton オブジェクトの既定の有効期間を指定します。

プログラムによる設定と有効期間の概念の詳細については「有効期間リース」を参照してください。

インスタンス要素とテンプレート要素

チャネル、テンプレート要素、およびインスタンス要素のビルドに関連する要素は 2 種類あります。テンプレート要素を使用すると、テンプレート要素の ID 属性を参照して、同じアプリケーションの任意の場所で使用するチャネル、サーバーまたはクライアントのチャネル シンク プロバイダー、あるいはサーバーまたはクライアントのチャネル シンク フォーマッタを宣言できます。

42d55ae3.note(ja-jp,VS.100).gif注 :
テンプレートの要素内で type 属性を使用して、BinaryFormatterHttpChannel など、システムによって実装される型を使用する既定の構成を作成する場合には、必ず、バージョン、カルチャ、および厳密な名前を含む完全な型情報を指定する必要があります。この情報は、machine.config ファイルから取得するか、グローバル アセンブリ キャッシュ ユーティリティ Gacutil.exe を使用して取得できます。型が、グローバル アセンブリ キャッシュ内には存在しなくても場所を特定できるアセンブリ内で定義されている場合や、ref 属性を使用できるインスタンス要素で型を参照している場合は、この情報は必要ありません。

参照

処理手順

方法 : クライアント側またはサーバー側でアクティブ化されるリモート オブジェクトの有効期間を設定する
方法 : チャネルを設定する

リファレンス

System.Runtime.Remoting.RemotingConfiguration Class

概念

リモート アプリケーションの構成
チャネル
チャネルの登録
サーバー側の登録
クライアント側の登録
チャネルの登録

その他のリソース

構成ファイルを使用したリモート オブジェクトの登録
.NET Framework リモート処理の概要