次の方法で共有


<<wsHttpBinding>>

双方向サービス コントラクト以外に適した、安全で信頼のおける相互操作可能なバインディングを定義します。バインディングは、信頼のための WS-ReliableMessaging、およびメッセージのセキュリティと認証のための WS-Security を実装します。トランスポートは HTTP、メッセージ エンコーディングは Text/XML エンコーディングです。

<system.serviceModel>
  <bindings>
    <<wsHttpBinding>>

<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 maxDepth="integer" 
           maxStringContentLength="integer"
           maxByteArrayContentLength="integer"
           maxBytesPerRead="integer"
           maxNameTableCharCount="integer" />
    </binding>
</wsHttpBinding>

属性および要素

属性

属性 説明

allowCookies

クライアントが Cookie を受け入れて、それらを今後の要求に反映させるかどうかを示すブール値。既定値は false です。

Cookie を使用する ASMX Web サービスと対話する場合に、このプロパティを使用できます。この方法で、サーバーから返される Cookie を、それ以降のサービスに対するすべてのクライアント要求に自動的にコピーできます。

bypassProxyOnLocal

ローカル アドレスでプロキシ サーバーをバイパスするかどうかを示すブール値。既定値は false です。

closeTimeout

クローズ操作が完了するまでの期間を指定する TimeSpan 値。この値は必ず Zero 以上である必要があります。既定値は 00:01:00 です。

hostnameComparisonMode

URI の解析に使用する HTTP ホスト名比較モードを指定します。この属性は HostnameComparisonMode 型で、URI が一致したときにサービスへのアクセスにホスト名を使用するかどうかを指定します。既定値は StrongWildcard で、一致しているホスト名を無視します。

maxBufferPoolSize

このバインディングに使用するバッファ プール サイズの上限を指定する整数。既定は 524,288 バイト (512 * 1024) です。Windows Communication Foundation (WCF) では、多くの部分でバッファを使用します。使用するたびに毎回バッファを作成および破棄すると負荷が高くなります。バッファのガベージ コレクションも同様です。バッファ プールを使用すると、バッファをプールから取得して使用し、作業が終わったらプールに戻すことができます。これで、バッファの作成と破棄のオーバーヘッドを回避できます。

maxReceivedMessageSize

チャネルで受信可能な最大メッセージ サイズ (ヘッダーを含む) をバイト単位で指定する正の整数が、このバインディングを使用して設定されました。この制限を超えるメッセージの送信者が、SOAP エラーを受信します。受信者がメッセージをドロップし、トレース ログにそのイベントのエントリを作成します。既定値は 65536 です。

messageEncoding

メッセージのエンコードに使用されるエンコーダを定義します。有効な値は次のとおりです。

  • Text: テキスト メッセージのエンコーダを使用します。
  • Mtom: Message Transmission Organization Mechanism 1.0 (MTOM) エンコーダを使用します。
  • 既定値は Text です。

この属性は WSMessageEncoding 型です。

name

バインディングの設定名を格納する文字列です。この値は、バインディングの ID として使用されるため、一意にする必要があります。

openTimeout

実行中の操作が完了するまでの時間間隔を指定する TimeSpan 値です。この値は必ず Zero 以上である必要があります。既定値は 00:01:00 です。

proxyAddress

HTTP プロキシのアドレスを指定する URI。useSystemWebProxytrue の場合、この設定を null にする必要があります。既定値は null です。

receiveTimeout

受信操作が完了するまでの時間間隔を指定する TimeSpan 値です。この値は必ず Zero 以上である必要があります。既定値は 00:01:00 です。

sendTimeout

送信操作が完了するまでの時間間隔を指定する TimeSpan 値です。この値は必ず Zero 以上である必要があります。既定値は 00:01:00 です。

textEncoding

バインディングでメッセージの発行に使用される文字セット エンコーディングを指定します。有効な値は次のとおりです。

  • UnicodeFffeTextEncoding: Unicode BigEndian エンコーディング。
  • Utf16TextEncoding: 16 ビットのエンコーディング。
  • Utf8TextEncoding: 8 ビットのエンコーディング。

既定値は Utf8TextEncoding です。

この属性は Encoding 型です。

transactionFlow

バインディングが WS-Transactions のフローをサポートするかどうかを指定するブール値です。既定値は false です。

useDefaultWebProxy

システムの自動設定 HTTP プロキシを使用するかどうかを示すブール値。既定値は true です。

子要素

要素 説明

<wsHttpBinding> の <security>

バインディングのセキュリティ設定を定義します。この要素は WSHttpSecurityElement 型です。

<readerQuotas>

このバインディングを使用して設定されるエンドポイントにより処理可能な、SOAP メッセージの複雑さに対する制約を定義します。この要素は XmlDictionaryReaderQuotasElement 型です。

<reliableSession> 要素

チャネルのエンドポイント間に信頼できるセッションを確立するかどうかを指定します。

親要素

要素 説明

<bindings>

この要素には、標準バインディングおよびカスタム バインディングのコレクションが保持されます。各エントリは、それぞれの name によって識別されます。サービスは、name を使用してバインディングをリンクすることにより、バインディングを使用します。

解説

WSHttpBindingBasicHttpBinding に似ていますが、より多くの Web サービス機能を提供します。BasicHttpBinding と同じように HTTP トランスポートを使用し、メッセージ セキュリティを提供します。さらに、トランザクション、信頼できるメッセージング、および WS-Addressing も提供します。これらは、既定で有効化になっているか、または単一の制御設定で使用できるようになります。

<configuration>
    <system.ServiceModel>
        <bindings>
            <wsHttpBinding>
                <binding name="test"
                    closeTimeout="00:00:10"
                    openTimeout="00:00:20" 
                    receiveTimeout="00:00:30"
                    sendTimeout="00:00:40"
                    bypassProxyOnLocal="false"
                    transactionFlow="false" 
                    hostNameComparisonMode="WeakWildcard"
                    maxMessageSize="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>

関連項目

リファレンス

WSHttpBinding
WSHttpBindingElement

概念

<binding>

その他の技術情報

Windows Communication Foundation Bindings
Configuring System-Provided Bindings
Using Bindings to Configure Services and Clients