チャネルの開発

Windows Communication Foundation (WCF) アプリケーション層で使用できるプロトコルまたはトランスポート チャネルを開発するには、いくつかの手順が必要です。 このトピックでは、これらの手順について説明し、詳細情報の参照先となる特定のトピックを示します。 チャネル モデルと、ここで紹介するそのさまざまな種類について理解するには、「チャネル モデルの概要」を参照してください。 トランスポート チャネルの完全なサンプルについては、「トランスポート: UDP」を参照してください。

チャネル開発タスクの一覧

ユーザー定義チャネルを作成する手順は、次のとおりです。 すべてのチャネルで、次の手順が必要です。

  1. IOutputChannelIInputChannel で、チャネルのメッセージ交換パターン (IDuplexChannelIRequestChannelIReplyChannelIChannelFactory、または IChannelListener) のうちのどれをサポートするか、また、選択したパターンでこれらのインターフェイスのセッションの多いバリエーションをサポートするかどうかを決定します。 詳細については、「メッセージ交換パターンの選択」を参照してください。

  2. 選択したメッセージ交換パターンをサポートするチャネル ファクトリおよびリスナー (IChannelFactory および IChannelListener) を作成します。 ファクトリの開発の詳細については、「クライアント: チャネル ファクトリとチャネル」を参照してください。 リスナーの開発の詳細については、「サービス: チャネル リスナーとチャネル」を参照してください。

  3. ネットワーク固有の例外が、System.TimeoutException の適切な派生クラスまたは CommunicationException に標準化されていることを確認します。 詳細については、「例外とエラーの処理」を参照してください。

  4. アプリケーション レイヤーから使用できるようにするには、カスタム チャネルを追加する BindingElement をチャネル スタックに追加します。 詳細については、「BindingElement の作成」をご覧ください。

アプリケーション レイヤーでより完全なサポートを実現するには、次の追加手順が必要です。

  1. バインド要素拡張セクションを追加して、新しいバインド要素を構成システムに公開します。 詳細については、「構成とメタデータのサポート」を参照してください。

  2. 他のエンドポイントに機能を伝達するメタデータ拡張を追加します。 詳細については、「構成とメタデータのサポート」を参照してください。

  3. 適切に定義されたプロファイルに従って、バインド要素のスタックを事前構成するバインディングを追加します。 詳細については、「ユーザー定義バインディングの作成」を参照してください。

  4. 構成システムにバインディングを開示する、バインディング セクションおよびバインド構成要素を追加します。 詳細については、「構成とメタデータのサポート」を参照してください。

関連項目