<wsHttpBinding><wsHttpBinding>

双方向サービス コントラクト以外に適した、安全で信頼のおける相互操作可能なバインディングを定義します。Defines a secure, reliable, interoperable binding suitable for non-duplex service contracts. バインディングは、次の仕様を実装します。Ws-reliable メッセージングの信頼性、およびメッセージ セキュリティと認証用 Ws-security。The binding implements the following specifications: WS-Reliable Messaging for reliability, and WS-Security for message security and authentication. トランスポートは HTTP、メッセージ エンコーディングは Text/XML エンコーディングです。The transport is HTTP, and message encoding is Text/XML encoding.

<system.ServiceModel ><system.ServiceModel>
<bindings><bindings>
<wsHttpBinding><wsHttpBinding>

構文Syntax

<wsHttpBinding>
  <binding allowCookies="Boolean"
           bypassProxyOnLocal="Boolean"
           closeTimeout="TimeSpan"
           hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
           maxBufferPoolSize="integer"
           maxReceivedMessageSize="Integer"
           messageEncoding="Text/Mtom"
           name="string"
           openTimeout="TimeSpan"
           proxyAddress="URI"
           receiveTimeout="TimeSpan"
           sendTimeout="TimeSpan"
           textEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding"
           transactionFlow="Boolean"
           useDefaultWebProxy="Boolean">
    <reliableSession ordered="Boolean"
                     inactivityTimeout="TimeSpan"
                     enabled="Boolean" />
    <security mode="Message/None/Transport/TransportWithCredential">
      <transport clientCredentialType="Basic/Certificate/Digest/None/Ntlm/Windows"
                 proxyCredentialType="Basic/Digest/None/Ntlm/Windows"
                 realm="string" />
      <message algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
               clientCredentialType="Certificate/IssuedToken/None/UserName/Windows"
               establishSecurityContext="Boolean"
               negotiateServiceCredential="Boolean" />
    </security>
    <readerQuotas maxArrayLength="Integer"
                  maxBytesPerRead="Integer"
                  maxDepth="Integer"
                  maxNameTableCharCount="Integer"
                  maxStringContentLength="Integer" />
  </binding>
</wsHttpBinding>

属性および要素Attributes and Elements

以降のセクションでは、属性、子要素、および親要素について説明します。The following sections describe attributes, child elements, and parent elements

属性Attributes

属性Attribute 説明Description
allowCookiesallowCookies クライアントがクッキーを受け入れて、それらを今後の要求に反映させるかどうかを指定するブール値です。A Boolean value that indicates whether the client accepts cookies and propagates them on future requests. 既定値は false です。The default is false.

クッキーを使用する ASMX Web サービスと対話する場合にこのプロパティを使用できます。You can use this property when you interact with ASMX Web services that use cookies. この方法で、サーバーから返されるクッキーを、それ以降のサービスに対するすべてのクライアント要求に自動的にコピーできます。In this way, you can be sure that the cookies returned from the server are automatically copied to all future client requests for that service.
bypassProxyOnLocalbypassProxyOnLocal ローカル アドレスでプロキシ サーバーをバイパスするかどうかを示すブール値。A Boolean value that indicates whether to bypass the proxy server for local addresses. 既定値は、false です。The default is false.
closeTimeoutcloseTimeout クローズ操作が完了するまでの期間を指定する TimeSpan 値。A TimeSpan value that specifies the interval of time provided for a close operation to complete. この値は必ず Zero 以上である必要があります。This value should be greater than or equal to Zero. 既定値は 00:01:00 です。The default is 00:01:00.
hostnameComparisonModehostnameComparisonMode URI の解析に使用する HTTP ホスト名比較モードを指定します。Specifies the HTTP hostname comparison mode used to parse URIs. この属性は HostNameComparisonMode 型で、URI が一致したときにサービスへのアクセスにホスト名を使用するかどうかを指定します。This attribute is of type HostNameComparisonMode, which indicates whether the hostname is used to reach the service when matching on the URI. 既定値は StrongWildcard で、一致しているホスト名を無視します。The default value is StrongWildcard, which ignores the hostname in the match.
maxBufferPoolSizemaxBufferPoolSize このバインディングに使用するバッファー プール サイズの上限を指定する整数。An integer that specifies the maximum buffer pool size for this binding. 既定は 524,288 バイト (512 * 1024) です。The default is 524,288 bytes (512 * 1024). Windows Communication Foundation (WCF) では、多くの部分でバッファーを使用します。Many parts of Windows Communication Foundation (WCF) use buffers. 使用するたびに毎回バッファーを作成および破壊すると負荷が高くなります。バッファーのガベージ コレクションも同様です。Creating and destroying buffers each time they are used is expensive, and garbage collection for buffers is also expensive. バッファー プールを使用すると、バッファーをプールから取得して使用し、作業が終わったらプールに戻すことができます。With buffer pools, you can take a buffer from the pool, use it, and return it to the pool once you are done. これで、バッファーの作成と破棄のオーバーヘッドを回避できます。Thus the overhead in creating and destroying buffers is avoided.
maxReceivedMessageSizemaxReceivedMessageSize このバインディングで構成されるチャネルで受信可能な最大メッセージ サイズ (ヘッダーを含む) をバイト単位で指定する正の整数。A positive integer that specifies the maximum message size, in bytes, including headers, that can be received on a channel configured with this binding. この制限を超えるメッセージの送信者が、SOAP エラーを受信します。The sender of a message exceeding this limit will receive a SOAP fault. メッセージは受信者によって破棄され、トレース ログにこのイベントのエントリが作成されます。The receiver drops the message and creates an entry of the event in the trace log. 既定値は 65536 です。The default is 65536.
messageEncodingmessageEncoding メッセージのエンコードに使用されるエンコーダーを定義します。Defines the encoder used to encode the message. 以下の値が有効です。Valid values include the following:

テキスト:テキスト メッセージ エンコーダーを使用します。- Text: Use a text message encoder.
Mtom:Message Transmission 組織 Mechanism 1.0 (MTOM) エンコーダーを使用します。- Mtom: Use a Message Transmission Organization Mechanism 1.0 (MTOM) encoder.
-既定値はテキストです。- The default is Text.

この属性は WSMessageEncoding 型です。This attribute is of type WSMessageEncoding.
namename バインディングの構成名を格納する文字列です。A string that contains the configuration name of the binding. この値は、バインディングの ID として使用されるため、一意にする必要があります。This value should be unique because it is used as an identification for the binding. .NET Framework 4.NET Framework 4 以降では、バインディングおよび動作に名前を付ける必要はありません。Starting with .NET Framework 4.NET Framework 4, bindings and behaviors are not required to have a name. 既定の構成と無名のバインディングおよび動作の詳細については、「簡略化された構成」と「WCF サービスの構成を簡略化」を参照してください。For more information about default configuration and nameless bindings and behaviors, see Simplified Configuration and Simplified Configuration for WCF Services.
openTimeoutopenTimeout 実行中の操作が完了するまでの時間間隔を指定する TimeSpan 値です。A TimeSpan value that specifies the interval of time provided for an open operation to complete. この値は必ず Zero 以上である必要があります。This value should be greater than or equal to Zero. 既定値は 00:01:00 です。The default is 00:01:00.
proxyAddressproxyAddress HTTP プロキシのアドレスを指定する URI。A URI that specifies the address of the HTTP proxy. useSystemWebProxytrue の場合、この設定を null にする必要があります。If useSystemWebProxy is true, this setting must be null. 既定値は、null です。The default is null.
receiveTimeoutreceiveTimeout 受信操作が完了するまでの時間間隔を指定する TimeSpan 値です。A TimeSpan value that specifies the interval of time provided for a receive operation to complete. この値は必ず Zero 以上である必要があります。This value should be greater than or equal to Zero. 既定値は 00:01:00 です。The default is 00:01:00.
sendTimeoutsendTimeout 送信操作が完了するまでの時間間隔を指定する TimeSpan 値です。A TimeSpan value that specifies the interval of time provided for a send operation to complete. この値は必ず Zero 以上である必要があります。This value should be greater than or equal to Zero. 既定値は 00:01:00 です。The default is 00:01:00.
textEncodingtextEncoding バインドでメッセージの発行に使用される文字セット エンコーディングを指定します。Specifies the character set encoding to be used for emitting messages on the binding. 以下の値が有効です。Valid values include the following:

- UnicodeFffeTextEncoding:Unicode BigEndian エンコーディングします。- UnicodeFffeTextEncoding: Unicode BigEndian encoding.
- Utf16TextEncoding:16 ビット エンコーディング。- Utf16TextEncoding: 16-bit encoding.
- Utf8TextEncoding:8 ビット エンコーディング。- Utf8TextEncoding: 8-bit encoding.

既定値は Utf8TextEncoding です。The default is Utf8TextEncoding.

この属性は Encoding 型です。This attribute is of type Encoding.
transactionFlowtransactionFlow バインディングが WS-Transactions のフローをサポートするかどうかを指定するブール値です。A Boolean value that specifies whether the binding supports flowing WS-Transactions. 既定値は false です。The default is false.
useDefaultWebProxyuseDefaultWebProxy システムの自動設定 HTTP プロキシを使用するかどうかを指定するブール値。A Boolean value that specifies whether the system’s auto-configured HTTP proxy is used. 既定値は true です。The default is true.

子要素Child Elements

要素Element 説明Description
<security><security> バインディングのセキュリティ設定を定義します。Defines the security settings for the binding. この要素は WSHttpSecurityElement 型です。This element is of type WSHttpSecurityElement.
<readerQuotas><readerQuotas> このバインドを使用して設定されるエンドポイントにより処理可能な、SOAP メッセージの複雑さに対する制約を定義します。Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. この要素は XmlDictionaryReaderQuotasElement 型です。This element is of type XmlDictionaryReaderQuotasElement.
<reliableSession><reliableSession> チャネルのエンドポイント間に信頼できるセッションを確立するかどうかを指定します。Specifies if reliable sessions are established between channel endpoints.

親要素Parent Elements

要素Element 説明Description
<bindings><bindings> この要素には、標準バインディングおよびカスタム バインドのコレクションが保持されます。This element holds a collection of standard and custom bindings.

RemarksRemarks

WSHttpBindingBasicHttpBinding に似ていますが、より多くの Web サービス機能を提供します。The WSHttpBinding is similar to the BasicHttpBinding but provides more Web service features. BasicHttpBinding と同じように HTTP トランスポートを使用し、メッセージ セキュリティを提供します。さらに、トランザクション、信頼できるメッセージング、および WS-Addressing も提供します。これらは、既定で有効化になっているか、または単一の制御設定で使用できるようになります。It uses the HTTP transport and provides message security, as does BasicHttpBinding, but it also provides transactions, reliable messaging, and WS-Addressing, either enabled by default or available through a single control setting.

Example

<configuration>
  <system.ServiceModel>
    <bindings>
      <wsHttpBinding>
        <binding closeTimeout="00:00:10"
                 openTimeout="00:00:20"
                 receiveTimeout="00:00:30"
                 sendTimeout="00:00:40"
                 bypassProxyOnLocal="false"
                 transactionFlow="false"
                 hostNameComparisonMode="WeakWildcard"
                 maxReceivedMessageSize="1000"
                 messageEncoding="Mtom"
                 proxyAddress="http://foo/bar"
                 textEncoding="utf-16"
                 useDefaultWebProxy="false">
          <reliableSession ordered="false"
                           inactivityTimeout="00:02:00"
                           enabled="true" />
          <security mode="Transport">
            <transport clientCredentialType="Digest"
                       proxyCredentialType="None"
                       realm="someRealm" />
            <message clientCredentialType="Windows"
                     negotiateServiceCredential="false"
                     algorithmSuite="Aes128"
                     defaultProtectionLevel="None" />
          </security>
        </binding>
      </wsHttpBinding>
    </bindings>
  </system.ServiceModel>
</configuration>

関連項目See also