次の方法で共有


カスタム プロキシの技術サンプル

更新 : 2007 年 11 月

このサンプルでは、RealProxy クラスの拡張について示します。RealProxy を拡張することにより、任意のリモート オブジェクトとの間でやり取りされるメッセージに、ユーザー コードからアクセスできるようになります。このサンプルでは、3 つの実行可能ファイルを作成します。ProxyWithReturnMessage.exe アプリケーションでは、Invoke メソッドをオーバーライドし、メッセージ データを表示します。ProxyWithCustomCasting.exe アプリケーションでは、IFaq および IBaz という 2 つのインターフェイスを使用し、キャスト機能のカスタム化の例を示しています。ProxyWiredToHttpChannel.exe アプリケーションでは、Http チャネルを使用し、RemotingHello サービスの呼び出しを受け取り、転送する方法を示しています。

hzzt6yfe.alert_caution(ja-jp,VS.90).gif重要 :

このサンプルを実行するには、使用しているコンピュータにインターネット インフォメーション サービス (IIS) がインストールされている必要があります。サンプル アプリケーションを実行する場合は、その前に、RemotingHello サービスを IIS に登録してください。

サンプルの使用については、次のトピックを参照してください。

Download sample

コマンド プロンプトを使用してサンプルをビルドするには

  1. コマンド プロンプト ウィンドウを開き、CS サブディレクトリに移動します。

  2. コマンド ラインで「msbuild CustomProxiesCS.sln」と入力します。

    hzzt6yfe.alert_note(ja-jp,VS.90).gifメモ :

    このサンプルでは、3 つのコンソール アプリケーションをビルドします。出力を表示するには、コマンド プロンプトでこれらを起動し、実行する必要があります。

Visual Studio を使用してサンプルをビルドするには

  1. Windows エクスプローラを開き、CS サブディレクトリに移動します。

  2. CustomProxiesCS.sln ファイルのアイコンをダブルクリックして、このファイルを Visual Studio で開きます。

  3. [ビルド] メニューの [ソリューションのビルド] をクリックします。

サービスを IIS に登録するには

  1. サービスを DLL にコンパイルし、その DLL をサービスの読み込み元となる bin ディレクトリにコピーします。上記に従って、コマンド プロンプトまたは Visual Studio でサンプルをビルドすると、サービスがコンパイルされ、ProxyWiredToHttpChannel ディレクトリに bin サブディレクトリが作成され、このディレクトリに Hello.dll がコピーされます。

  2. インターネット サービス マネージャを起動し、サーバー ノードの [既定の Web サイト] をクリックします。メニューの [アクション、新規作成、仮想ディレクトリ] をクリックし、[次へ] をクリックして次に進みます。

  3. エイリアスとして「RemotingHello」と入力し、[次へ] をクリックします。

  4. サービスのあるディレクトリを入力します。手順 1 で DLL がコピーされた bin ディレクトリまでの完全パスを入力します。ただし、bin ディレクトリはパスに含めません。

  5. [次へ] をクリックします。表示された既定の設定を受け入れ、もう一度 [次へ] をクリックします。[完了] をクリックします。これでサービスが登録され、[インターネット サービス マネージャ] ウィンドウの [既定の Web サイト] の一覧に表示されます。

  6. サービスを登録したディレクトリに web.config ファイルがあることを確認します。このファイルは、サービスについて記述するファイルです。ポート 80 の HTTP チャネルを使い、ブラウザまたはクライアントをとおしてクライアントからサービスにアクセスしようとすると、このファイルが自動的に読み込まれます。

サンプルを実行するには

  1. 次の 3 つの実行可能ファイルのうち、いずれかのファイルが格納されているディレクトリに移動します。

    • ProxyWiredToHttpChannel.exe

    • ProxyWithCustomCasting.exe

    • ProxyWithReturnMessage.exe

    各実行可能ファイルは、そのコンソール アプリケーションと同じ名前のディレクトリの下の \bin\Debug サブディレクトリに格納されています。

  2. コマンド ラインで、実行可能ファイルの名前を入力します。ProxyWiredToHttpChannel.exe を実行する場合は、その前に、RemotingHello サービスを前述のように IIS に登録してください。

参照

概念

RealProxy の拡張

参照

IChannel

IMessage

IRemotingTypeInfo

MarshalByRefObject

OneWayAttribute

RealProxy

System.Collections

System.Runtime.Remoting

System.Runtime.Remoting.Proxies

System.Runtime.Remoting.Messaging

UnmanagedType

その他の技術情報

高度なリモート処理

オブジェクトのアクティベーションと有効期間