ローカル チャネル

ローカル チャネルは、同じアプリケーション ドメイン内の通信に使用される Windows Communication Foundation (WCF) トランスポート チャネルです。 これは、クライアントとサービスが同じアプリケーション ドメイン内で実行されており、通常の WCF チャネル スタックのオーバーヘッド (メッセージのシリアル化と逆シリアル化) を回避する必要がある場合に役に立ちます。

ディスカッション

LocalChannel のサンプルは、2 つのプロジェクト ファイルで構成されます。

  • LocalChannel: 現在のアプリケーション ドメイン内のローカル チャネルのプログラム表現。 このプロジェクトでは、送信側コンポーネントがメッセージをメモリ内キューに入れて、受信側コンポーネントがメッセージをキューから削除して受信します。

  • ClientAndService: このプロジェクトは、サービスをコンソール アプリケーションでホストし、クライアントを実行して同じアプリケーション ドメイン内からサービスを呼び出します。

ローカル チャネルのデザインでは、速度を上げるためにチャネル スタックとシリアル化プロセスの両方がスキップされます。 ローカル トランスポート チャネルは、キューを使用してサービス呼び出しをクライアントからサービスに転送し、値をクライアントに返すことによって実装されます。 このサンプルでは、パラメーターと戻り値をシリアル化するのではなく、オブジェクトをコピーします。

サンプルをセットアップ、ビルド、および実行するには

  1. LocalChannel ソリューションをビルドして実行します。

  2. サービス ホストが起動し、クライアントがローカル チャネルを使用してサービスを呼び出します。 コンソール ウィンドウが表示され、サービス呼び出しの結果が示されます。