チャネルの開発
Windows Communication Foundation (WCF) アプリケーション レイヤで使用できるプロトコル チャネルやトランスポート チャネルを開発するには、いくつかの手順が必要です。このトピックでは、これらの手順について説明し、詳細情報の参照先となる特定のトピックを示します。チャネル モデルと、このトピックで説明するそのさまざまな種類について理解するには、「チャネル モデルの概要」を参照してください。トランスポート チャネルの完全なサンプルについては、「Transport: UDP」を参照してください。
チャネル開発タスクの一覧
ユーザー定義チャネルを作成する手順は、次のとおりです。すべてのチャネルで、次の手順が必要です。
- IChannelFactory と IChannelListener で、チャネルのメッセージ交換パターン (IOutputChannel、IInputChannel、IDuplexChannel、IRequestChannel、または IReplyChannel) のうちのどれをサポートするか、また、選択したパターンでこれらのインターフェイスのセッションの多いバリエーションをサポートするかどうかを決定します。詳細については、「メッセージ交換パターンの選択」を参照してください。
- 選択したメッセージ交換パターンをサポートするチャネル ファクトリおよびリスナ (IChannelFactory および IChannelListener) を作成します。ファクトリの開発の詳細については、「クライアント : チャネル ファクトリとチャネル」を参照してください。リスナの開発の詳細については、「サービス : チャネル リスナとチャネル」を参照してください。
- ネットワーク固有の例外が、CommunicationException の適切な派生クラスまたは System.TimeoutException に標準化されていることを確認します。詳細については、「例外とエラーの処理」を参照してください。
- アプリケーション レイヤから使用できるようにするには、カスタム チャネルを追加する BindingElement をチャネル スタックに追加します。詳細については、「BindingElement の作成」を参照してください。
アプリケーション レイヤでより完全なサポートを実現するには、次の追加手順が必要です。
- バインディング要素拡張セクションを追加して、新しいバインディング要素を構成システムに公開します。詳細については、「構成とメタデータのサポート」を参照してください。
- 他のエンドポイントに機能を伝達するメタデータ拡張を追加します。詳細については、「構成とメタデータのサポート」を参照してください。
- 適切に定義されたプロファイルに従って、バインディング要素のスタックを事前構成するバインディングを追加します。詳細については、「ユーザー定義バインディングの作成」を参照してください。
- 構成システムにバインディングを開示する、バインディング セクションおよびバインディング構成要素を追加します。詳細については、「構成とメタデータのサポート」を参照してください。