カスタム バインディング
システムが提供するバインディングの中にサービスの要件を満たすものがない場合は、CustomBinding クラスを使用できます。すべてのバインディングは、バインディング要素の順序付き集合から作成されます。カスタム バインディングは、一連のシステム指定のバインディング要素から作成したり、ユーザー定義のカスタム バインディング要素を含めたりできます。カスタム バインディング要素を使用すると、たとえば、新しいトランスポートまたはエンコーダをサービス エンドポイントで使用できるようになります。実施例については、「Custom Binding Samples」を参照してください。詳細な情報については、次のページを参照してください。 「<customBinding>」を参照してください。
カスタム バインディングの構築
カスタム バインディングは、特定の順序で "積み重ねられている" バインディング要素のコレクションから CustomBinding コンストラクタを使用して作成します。
- 最上位にあるのは、トランザクションのフローを可能にするオプションの TransactionFlowBindingElement クラスです。
- その次にあるのは、WS-ReliableMessaging 仕様で定義されているセッションおよび順序指定のメカニズムを提供する、オプションの ReliableSessionBindingElement クラスです。セッションは、SOAP 中継局およびトランスポート中継局を通過できます。
- その次には、承認、認証、保護、機密性などのセキュリティ機能を提供する、オプションの SecurityBindingElement クラスがあります。
- その次にあるのは、必須のメッセージ エンコード バインディング要素です。独自のメッセージ エンコーダを使用するか、次の 3 つのメッセージ エンコーディング バインディングのいずれかを使用できます。
最下位には、必須のトランスポート要素があります。独自のトランスポートを使用することも、Windows Communication Foundation (WCF) が提供する次のトランスポート バインディング要素のいずれかを使用することもできます。
- TcpTransportBindingElement
- HttpTransportBindingElement
- HttpsTransportBindingElement
- NamedPipeTransportBindingElement
- PeerTransportBindingElement
- MsmqTransportBindingElement
- MsmqIntegrationBindingElement
- ConnectionOrientedTransportBindingElement
各層のオプションの概要を次の表に示します。
層 | オプション | 必須 |
---|---|---|
トランザクション |
TransactionFlowBindingElement |
× |
信頼性 |
ReliableSessionBindingElement |
× |
セキュリティ |
SecurityBindingElement |
× |
エンコード |
テキスト、バイナリ、MTOM (Message Transmission Optimization Mechanism)、カスタム |
○ |
トランスポート |
TCP、HTTP、HTTPS、名前付きパイプ (IPC)、ピアツーピア (P2P)、メッセージ キュー (MSMQ)、カスタム |
○ |
さらに、独自のバインディング要素を定義し、それを定義済みの層のいずれかの間に挿入できます。
関連項目
タスク
概念
エンドポイントの作成の概要
サービスとクライアントを構成するためのバインディングの使用
システム標準のバインディング