システムが提供するバインディングの構成Configuring System-Provided Bindings

バインディングにより、エンドポイントとの通信で使用する通信メカニズムが指定され、エンドポイントへの接続方法が示されます。Bindings specify the communication mechanism to use when talking to an endpoint and indicate how to connect to an endpoint. どのように Windows Communication Foundation (WCF) チャネルを階層化する必要な通信機能を提供するかを定義する要素のバインディングで構成されます。Bindings consist of elements that define how the Windows Communication Foundation (WCF) channels are layered up to provide the required communication features. バインディングには次の 3 種類の要素が含まれます。A binding contains three types of elements:

  • プロトコル チャネル バインド要素 : エンドポイントに送信されるメッセージで使用するセキュリティ、信頼性、コンテキスト フローの設定、またはユーザー定義のプロトコルを指定します。Protocol channel binding elements, which determine the security, reliability, context flow settings, or user-defined protocols to use with messages that are sent to the endpoint.

  • トランスポート チャネル バインド要素 : エンドポイントにメッセージを送信するときに使用する基礎トランスポート プロトコル (TCP や HTTP など) を指定します。Transport channel binding elements, which determine the underlying transport protocol to use when sending messages to the endpoint, for example, TCP or HTTP.

  • メッセージ エンコーディング バインド要素 : エンドポイントに送信されるメッセージに使用するネットワーク エンコード (text/XML、バイナリ、MTOM (Message Transmission Optimization Mechanism) など) を指定します。Message encoding binding elements, which determine the wire encoding to use for messages that are sent to the endpoint, for example, text/XML, binary, or Message Transmission Optimization Mechanism (MTOM).

このトピックでは、すべてのシステム指定の Windows Communication Foundation (WCF) バインドを表示します。This topic presents all of the system-provided Windows Communication Foundation (WCF) bindings. このバインディングがいずれもアプリケーションの要件を満たさない場合は、CustomBinding クラスを使用してバインディングを作成できます。If none of these meets the exact requirements for your application, you can create a binding using the CustomBinding class. カスタム バインドを作成する方法の詳細については、「カスタム バインディング」を参照してください。For more information about creating custom bindings, see Custom Bindings.

重要

セキュリティが有効になっているバインディングを選択します。Select a binding that has security enabled. 既定では、BasicHttpBinding バインディング以外のバインディングではセキュリティが有効になっています。By default, all bindings, except the BasicHttpBinding binding, have security enabled. セキュリティで保護されたバインディングを選択しない場合、またはセキュリティを無効にする場合は、セキュリティで保護されたデータ センターや隔離されたネットワークを使用するなど、他の方法でネットワーク交換が保護されていることを確認してください。If you do not select a secure binding, or if you disable security, be sure your network exchanges are protected in some other manner, such as being in a secured data center or on an isolated network.

重要

他の方法によってネットワーク交換がセキュリティ保護されない限り、セキュリティをサポートしないバインディングやセキュリティが無効になっているバインディングでは、双方向コントラクトを使用しないでください。Do not use duplex contracts with bindings that do not support security, or that have security disabled, unless the network exchange is secured by some other means.

システム標準のバインディングSystem-Provided Bindings

WCF では、次のバインドが付属しています。The following bindings are shipped with WCF.

バインディングBinding 構成要素Configuration Element 説明Description
BasicHttpBinding <basicHttpBinding><basicHttpBinding> ASP.NET Web サービス (ASMX) ベースのサービスなど、WS-Basic Profile に適合する Web サービスとの通信に適したバインディング。A binding that is suitable for communicating with WS-Basic Profile conformant Web services, for example, ASP.NET Web services (ASMX)-based services. このバインディングはトランスポートとして HTTP を、既定のメッセージ エンコーディングとして text/XML を使用します。This binding uses HTTP as the transport and text/XML as the default message encoding.
WSHttpBinding <wsHttpBinding><wsHttpBinding> 二重のサービス コントラクト以外に適した、セキュリティで保護された相互操作可能なバインディング。A secure and interoperable binding that is suitable for non-duplex service contracts.
WS2007HttpBinding <ws2007HttpBinding><ws2007HttpBinding> SecurityReliableSession、および TransactionFlow の各バインド要素の適切なバージョンをサポートする、セキュリティで保護された相互運用可能なバインディング。A secure and interoperable binding that provides support for the correct versions of the Security, ReliableSession, and TransactionFlow binding elements.
WSDualHttpBinding <wsDualHttpBinding><wsDualHttpBinding> 二重のサービス コントラクト、または SOAP 中継局を介しての通信に適した、セキュリティで保護された相互操作可能なバインディング。A secure and interoperable binding that is suitable for duplex service contracts or communication through SOAP intermediaries.
WSFederationHttpBinding <wsFederationHttpBinding><wsFederationHttpBinding> WS-Federation プロトコルをサポートする、セキュリティで保護された相互操作可能なバインディングで、フェデレーションに属す組織のユーザーを効率的に認証、および承認することができます。A secure and interoperable binding that supports the WS-Federation protocol, enabling organizations that are in a federation to efficiently authenticate and authorize users.
WS2007FederationHttpBinding <ws2007FederationHttpBinding><ws2007FederationHttpBinding> WS2007HttpBindingから派生し、フェデレーション セキュリティをサポートする、セキュリティで保護された相互運用可能なバインディングです。A secure and interoperable binding that derives from WS2007HttpBinding and supports federated security.
NetTcpBinding <netTcpBinding><netTcpBinding> WCF アプリケーション間でのコンピューター間通信に適した、セキュリティで保護され、最適化されたバインド。A secure and optimized binding suitable for cross-machine communication between WCF applications.
NetNamedPipeBinding <netNamedPipeBinding><netNamedPipeBinding> WCF アプリケーション間でのコンピューター上の通信に適した、セキュリティで保護され、信頼できる最適化されたバインド。A secure, reliable, optimized binding that is suitable for on-machine communication between WCF applications.
NetMsmqBinding <netMsmqBinding><netMsmqBinding> WCF アプリケーション間でのコンピューター間通信に適した、キューに置かれたバインド。A queued binding that is suitable for cross-machine communication between WCF applications.
NetPeerTcpBinding <netPeerTcpBinding><netPeerTcpBinding> セキュリティで保護された、複数のコンピューター通信を可能にするバインディング。A binding that enables secure, multi-machine communication.
WebHttpBinding <webHttpBinding><webHttpBinding> SOAP メッセージではなく、HTTP 要求を介して公開される WCF Web サービスのエンドポイントを構成するために使用されるバインド。A binding used to configure endpoints for WCF Web services that are exposed through HTTP requests instead of SOAP messages.
MsmqIntegrationBinding <msmqIntegrationBinding><msmqIntegrationBinding> バインディングは、WCF アプリケーションと既存のメッセージ キュー (MSMQ とも呼ばれます) の間のコンピューター間の通信に適したアプリケーションです。A binding that is suitable for cross-machine communication between a WCF application and existing Message Queuing (also known as MSMQ) applications.

バインディング機能Binding Features

システム指定の各バインディングで提供される主要機能の一部を次の表に示します。The next table shows some of the key features each of the system-provided bindings provided. 各バインディングを 1 列目に示します。機能に関する情報については表で説明します。The bindings are listed in the first column and information regarding the features is described in the table. 次の表に、使用されるバインディングの省略形のキーを示します。The following table provides a key for the binding abbreviations used. バインディングを選択するには、必要な行の機能がすべて含まれる列を調べます。To select a binding, determine which column satisfies all of the row features you need.

バインディングBinding 相互運用性Interoperability セキュリティ モード (既定)Mode of Security (Default) セッションSession

(既定)(Default)
トランザクションTransactions 二重Duplex
BasicHttpBinding Basic Profile 1.1Basic Profile 1.1 (なし)、トランスポート、メッセージ、混在(None), Transport, Message, Mixed なし、(なし)None, (None) (なし)(None) N/An/a
WSHttpBinding WSWS なし、トランスポート、(メッセージ)、混在None, Transport, (Message), Mixed (なし)、トランスポート、信頼できるセッション(None), Transport, Reliable Session (なし)、あり(None), Yes N/An/a
WS2007HttpBinding WS-Security、WS-Trust、WS-SecureConversation、WS-SecurityPolicyWS-Security, WS-Trust, WS-SecureConversation, WS-SecurityPolicy なし、トランスポート、(メッセージ)、混在None, Transport, (Message), Mixed (なし)、トランスポート、信頼できるセッション(None), Transport, Reliable Session (なし)、あり(None), Yes N/An/a
WSDualHttpBinding WSWS なし、(メッセージ)None, (Message) (信頼できるセッション)(Reliable Session) (なし)、あり(None), Yes [はい]Yes
WSFederationHttpBinding WS-FederationWS-Federation なし、(メッセージ)、混在None, (Message), Mixed (なし)、信頼できるセッション(None), Reliable Session (なし)、あり(None), Yes いいえNo
WS2007FederationHttpBinding WS-FederationWS-Federation なし、(メッセージ)、混在None, (Message), Mixed (なし)、信頼できるセッション(None), Reliable Session (なし)、あり(None), Yes いいえNo
NetTcpBinding .NET.NET なし、(トランスポート)、メッセージ、None, (Transport), Message,

混合Mixed
信頼できるセッション、(トランスポート)Reliable Session, (Transport) (なし)、あり(None), Yes [はい]Yes
NetNamedPipeBinding .NET.NET なし、None,

(トランスポート)(Transport)
なし、(トランスポート)None, (Transport) (なし)、あり(None), Yes はいYes
NetMsmqBinding .NET.NET なし、メッセージ、(トランスポート)、両方None, Message, (Transport), Both (なし)(None) (なし)、あり(None), Yes いいえNo
NetPeerTcpBinding PeerPeer なし、メッセージ、(トランスポート)、混在None, Message, (Transport), Mixed (なし)(None) (なし)(None) [はい]Yes
WebHttpBinding .Net.Net None, Transport, TransportCredentialOnlyNone, Transport, TransportCredentialOnly (なし)(None) (なし)(None) N/An/a
MsmqIntegrationBinding MSMQMSMQ なし、(トランスポート)None, (Transport) (なし)(None) (なし)、あり(None), Yes N/An/a

次の表では、前の表内の機能について説明します。The following table explains the features found in the previous table.

機能Feature 説明Description
相互運用性の種類Interoperability Type バインディングによる相互操作を可能にするプロトコルまたはテクノロジに名前を付けます。Names the protocol or technology with which the binding ensures interoperation.
セキュリティSecurity チャネルをセキュリティで保護する方法を指定します。Specifies how the channel is secured:

-None。SOAP メッセージのセキュリティ保護されていないと、クライアントが認証されていません。- None: The SOAP message is not secured and the client is not authenticated.
-トランスポート。トランスポート層では、セキュリティ要件が満たされます。- Transport: Security requirements are satisfied at the transport layer.
-メッセージ:メッセージ層では、セキュリティ要件が満たされます。- Message: Security requirements are satisfied at the message layer.
混合。このセキュリティ モードと呼ばれるTransportWithMessageCredentialsします。- Mixed: This security mode is known as TransportWithMessageCredentials. メッセージ レベルで資格情報を処理し、整合性と機密性の要件がトランスポート層で満たされます。It handles credentials at the message level, and integrity and confidentiality requirements are satisfied by the transport layer.
-両方。メッセージ レベルとトランスポート レベル セキュリティが使用されます。- Both: Both message level and transport level security are used. この機能は、NetMsmqBinding に特有の機能です。This ability is unique to the NetMsmqBinding.
セッションSession このバインディングでセッション コントラクトをサポートするかどうかを指定します。Specifies whether this binding supports session contracts.
トランザクションTransactions トランザクションが有効かどうかを指定します。Specifies whether transactions are enabled.
二重Duplex 二重のコントラクトがサポートされているかどうかを指定します。Specifies whether duplex contracts are supported. この機能はバインディングでセッションをサポートする必要があることに注意してください。Note this feature requires support for Sessions in the binding.
ストリームStreaming メッセージ ストリーミングをサポートするかどうかを指定します。Specifies whether the message streaming is supported.

関連項目See also