サービスとクライアントを構成するためのバインディングの使用Using Bindings to Configure Services and Clients

バインディングとは、エンドポイントへの接続に必要な通信の詳細設定を指定するオブジェクトです。Bindings are objects that specify the communication details required to connect to an endpoint. 具体的には、バインディングには構成情報が含まれており、この情報を使用してそれぞれのエンドポイントまたはクライアント チャネルで使用されるトランスポート仕様、ワイヤ形式 (メッセージ エンコード) 仕様、プロトコル仕様が定義され、クライアントまたはサービスのランタイムが作成されます。More specifically, bindings contain configuration information that is used to create the client or service runtime by defining the specifics of transports, wire-formats (message encoding), and protocols to use for the respective endpoint or client channel. 機能している Windows Communication Foundation (WCF) サービスを作成するには、サービス内の各エンドポイントにバインディングが必要です。To create a functioning Windows Communication Foundation (WCF) service, each endpoint in the service requires a binding. ここでは、エンドポイントにおけるバインディングの概要と定義方法、特定のバインディングの指定方法を説明します。This topic explains what bindings are, how they are defined, and how a particular binding is specified for an endpoint.

バインディングの定義内容What a Binding Defines

バインディングの情報は、非常に基本的な情報にすることも複雑なものにすることもできます。The information in a binding can be very basic or very complex. 最も基本的なバインディングはトランスポート プロトコル (HTTP など) のみを指定したもので、これはエンドポイントへの接続に必ず使用します。The most basic binding specifies only the transport protocol (such as HTTP) that must be used to connect to the endpoint. 一般的に、バインディングに含まれるエンドポイントへの接続方法を示す情報は、次のカテゴリのいずれかに当てはまります。More generally, the information a binding contains about how to connect to an endpoint falls into one of the categories in the following table.

プロトコルProtocols
使用されているセキュリティ機構 (信頼性の高いメッセージング機能またはトランザクション コンテキストのフロー設定のいずれか) を決定します。Determines the security mechanism being used, either reliable messaging capability or transaction context flow settings.

TransportTransport
使用する基本のトランスポート プロトコル (TCP や HTTP など) を決定します。Determines the underlying transport protocol to use (for example, TCP or HTTP).

エンコードEncoding
メッセージ エンコード (Text/XML、バイナリ、MTOM (Message Transmission Optimization Mechanism) など) を決定します。これは、メッセージをネットワーク上のバイト ストリームとしてどのように表現するかを決定します。Determines the message encoding, for example, text/XML, binary, or Message Transmission Optimization Mechanism (MTOM), which determines how messages are represented as byte streams on the wire.

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

WCF には、ほとんどのアプリケーションの要件とシナリオをカバーするように設計されたシステム指定のバインディングのセットが含まれています。WCF includes a set of system-provided bindings that are designed to cover most application requirements and scenarios. システム指定のバインディングの例のいくつかを次のクラスで示します。The following classes represent some examples of system-provided bindings:

  • BasicHttpBinding:WS に準拠している HTTP プロトコル バインディング Web サービスに接続するのに適した-Basic Profile 1.1 仕様 (たとえば、ASP.NET Web サービス (ASMX)-ベースのサービス)。BasicHttpBinding: An HTTP protocol binding suitable for connecting to Web services that conforms to the WS-I Basic Profile 1.1 specification (for example, ASP.NET Web services [ASMX]-based services).

  • WSHttpBinding:HTTP プロトコル バインディングを Web に準拠するエンドポイントに接続するために適したサービス仕様のプロトコルです。WSHttpBinding: An HTTP protocol binding suitable for connecting to endpoints that conform to the Web services specifications protocols.

  • NetNamedPipeBinding:.NET binary エンコードとフレーム技術と組み合わせてを名前付きパイプ トランスポートの Windows でを使用して、同じコンピューター上の他の WCF エンドポイントに接続します。NetNamedPipeBinding: Uses the .NET binary encoding and framing technologies in conjunction with the Windows named pipe transport to connect to other WCF endpoints on the same machine.

  • NetMsmqBinding:.NET binary エンコードとフレーム メッセージ キュー (MSMQ とも呼ばれます) と組み合わせて技術を使用して、他の WCF エンドポイントとメッセージをキューに置かれた接続を作成します。NetMsmqBinding: Uses the .NET binary encoding and framing technologies in conjunction with the Message Queuing (also known as MSMQ) to create queued message connections with other WCF endpoints.

詳細についてで、システム指定のバインディングの完全な一覧を参照してください。 System-Provided Bindingsします。For a complete list of system-provided bindings, with descriptions, see System-Provided Bindings.

カスタム バインディングCustom Bindings

システム指定のバインディング コレクションに、サービス アプリケーションに必要な機能の適切な組み合わせが含まれていない場合は、CustomBinding バインディングを作成できます。If the system-provided binding collection does not have the correct combination of features that a service application requires, you can create a CustomBinding binding. 要素の詳細については、CustomBindingバインドを参照してください <customBinding >カスタム バインドします。For more information about the elements of a CustomBinding binding, see <customBinding> and Custom Bindings.

バインディングの使用Using Bindings

バインディングを使用する際には、次の 2 つの基本手順があります。Using bindings entails two basic steps:

  1. バインディングを選択、または定義します。Select or define a binding. 最も簡単な方法は、システム指定のバインディングを 1 つ選択し、それを既定の設定で使用することです。The easiest method is to choose one of the system-provided bindings and use its default settings. また、システム指定のバインディングを選択し、そのプロパティを要件に適した値に再設定することもできます。You can also choose a system-provided binding and reset its property values to suit your requirements. さらに、カスタム バインドを作成し、すべてのプロパティを必要に応じて設定することもできます。Alternatively, you can create a custom binding and set every property as required.

  2. このバインディングを使用するエンドポイントを作成します。Create an endpoint that uses this binding.

コードおよび構成Code and Configuration

バインディングは、コードまたは構成を使用して定義または構成できます。You can define or configure bindings through code or configuration. この 2 つの方法は使用するバインディングの種類に依存しません。たとえば、システム指定のバインディングまたは CustomBinding バインディングのどちらを使用していても関係ありません。These two approaches are independent of the type of binding used, for example, whether you are using a system-provided or a CustomBinding binding. 一般に、コードを使用すると、コンパイル時に開発者がバインディングの定義を完全に制御できます。In general, using code gives you complete control over the definition of a binding when you compile. システム管理者または WCF サービスまたはクライアントのバインディングのパラメーターを変更するユーザーは、その一方で、構成を使用しています。Using configuration, on the other hand, allows a system administrator or the user of a WCF service or client to change the parameters of bindings. 特定のマシンの要件を予測し、ネットワークの状態は、WCF アプリケーションの展開方法がないために、このような柔軟性が望ましい多くの場合。This flexibility is often desirable because there is no way to predict the specific machine requirements and network conditions into which a WCF application is to be deployed. バインディング (およびアドレス) 情報がコードから分離されているため、管理者はアプリケーションの再コンパイルや再配置を行わずにバインディングの詳細を変更できます。Separating the binding (and addressing) information from the code allows administrators to change the binding details without having to recompile or redeploy the application. バインディングをコードに定義した場合、構成ファイルに記述されている構成ベースの定義はすべて上書きされます。Note that if the binding is defined in code, it overwrites any configuration-based definitions made in the configuration file. この方法についての例は、以下のトピックを参照してください。For examples of these approaches, see the following topics:

関連項目See also