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