<basicHttpBinding><basicHttpBinding>

ASMX ベースの Web サービスやクライアント、および WS-I Basic Profile 1.1 に準拠するその他のサービスとの通信が可能なエンドポイントを構成および公開するために、Windows Communication Foundation (WCF) サービスが使用できるバインドを表します。Represents a binding that a Windows Communication Foundation (WCF) service can use to configure and expose endpoints that are able to communicate with ASMX-based Web services and clients and other services that conform to the WS-I Basic Profile 1.1.

<system.ServiceModel ><system.ServiceModel>
<bindings><bindings>
<basicHttpBinding><basicHttpBinding>

構文Syntax

<basicHttpBinding>  
   <binding   
       allowCookies="Boolean"  
       bypassProxyOnLocal="Boolean"  
       closeTimeout="TimeSpan"   
       envelopeVersion="None/Soap11/Soap12"  
       hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"  
       maxBufferPoolSize="Integer"  
       maxBufferSize="Integer"  
       maxReceivedMessageSize="Integer"  
       messageEncoding="Text/Mtom"  
              name="string"   
       openTimeout="TimeSpan"   
       proxyAddress="URI"  
        receiveTimeout="TimeSpan"  
       sendTimeout="TimeSpan"  
              textEncoding="UnicodeFffeTextEncoding/Utf16TextEncoding/Utf8TextEncoding"  
              transferMode="Buffered/Streamed/StreamedRequest/StreamedResponse"  
       useDefaultWebProxy="Boolean"  
       <security mode="None/Transport/Message/TransportWithMessageCredential/TransportCredentialOnly">  
           <transport clientCredentialType="None/Basic/Digest/Ntlm/Windows/Certificate"  
                  proxyCredentialType="None/Basic/Digest/Ntlm/Windows"  
                                    realm="string" />  
           <message   
                 algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"  
                            clientCredentialType="UserName/Certificate"/>  
       </security>  
       <readerQuotas   
            maxArrayLength="Integer"  
            maxBytesPerRead="Integer"  
            maxDepth="Integer"             maxNameTableCharCount="Integer"                maxStringContentLength="Integer" />  
   </binding>  
</basicHttpBinding>  

属性および要素Attributes and Elements

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

属性Attributes

属性Attribute 説明Description
allowCookies クライアントがクッキーを受け入れて、それらを今後の要求に反映させるかどうかを指定するブール値です。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.
bypassProxyOnLocal ローカル アドレスでプロキシ サーバーをバイパスするかどうかを示すブール値。A Boolean value that indicates whether to bypass the proxy server for local addresses. 既定値は、false です。The default is false.

インターネット リソースは、ローカル アドレスを持つ場合ローカルです。An Internet resource is local if it has a local address. によって識別される、構文的に、Uri と同様にピリオド (.) の欠如が同じコンピューター、ローカル LAN またはイントラネット上にあり、ローカル アドレスは"http://webserver/「と」http://localhost/"です。A local address is one that is on same computer, the local LAN or intranet and is identified, syntactically, by the lack of a period (.) as in the URIs "http://webserver/" and "http://localhost/".

この属性の設定は、BasicHttpBinding で構成されたエンドポイントがローカル リソースへのアクセス時にプロキシ サーバーを使用するかどうかを示します。Setting this attribute determines whether endpoints configured with the BasicHttpBinding use the proxy server when accessing local resources. この属性が true の場合、ローカル インターネット リソースへの要求はプロキシ サーバーを使用しません。If this attribute is true, requests to local Internet resources do not use the proxy server. この属性を true に設定した場合で、同じコンピューター上のサービスと対話するクライアントがプロキシを経由するときは、(localhost ではなく) ホスト名を使用します。Use the host name (rather than localhost) if you want clients to go through a proxy when talking to services on the same machine when this attribute is set to true.

この属性が false の場合、すべてのインターネット要求はプロキシ サーバー経由で行われます。When this attribute is false, all Internet requests are made through the proxy server.
closeTimeout クローズ操作が完了するまでの期間を指定する 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.
envelopeVersion このバインディングによって処理されるメッセージに使用される SOAP のバージョンを指定します。Specifies the version of SOAP that is used for messages that are processed by this binding. 有効値は、Soap11 のみです。The only valid value is Soap11.
hostnameComparisonMode 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.
maxBufferPoolSize チャネルからメッセージを受け取るメッセージ バッファーのマネージャーが使用するために割り当てられる、最大メモリ量を指定する整数値。An integer value that specifies the maximum amount of memory that is allocated for use by the manager of the message buffers that receive messages from the channel. 既定値は 524288 (0x80000) バイトです。The default value is 524288 (0x80000) bytes.

バッファー マネージャーは、バッファー プールを使用することで、バッファーの使用コストを最小化します。The Buffer Manager minimizes the cost of using buffers by using a buffer pool. バッファーは、チャネルから出てくるメッセージをサービスが処理するときに必要です。Buffers are required to process messages by the service when they come out of the channel. メッセージの読み込み処理に十分なメモリがバッファー プールにない場合、バッファー マネージャーは、CLR ヒープから追加のメモリを割り当てる必要があります。これにより、ガベージ コレクションのオーバーヘッドが増加します。If there is not sufficient memory in the buffer pool to process the message load, the Buffer Manager must allocate additional memory from the CLR heap, which increases the garbage collection overhead. CLR ガベージ ヒープから多大な割り当てが行われることは、バッファー プール サイズが小さすぎること、およびこの属性で指定される制限を緩めて割り当てを増やすとパフォーマンスが向上する可能性があることを示します。Extensive allocation from the CLR garbage heap is an indication that the buffer pool size is too small and that performance can be improved with a larger allocation by increasing the limit specified by this attribute.
maxBufferSize このバインディングで構成されるエンドポイントのメッセージが処理されるときのメッセージを格納するバッファーの最大サイズを指定する整数値 (バイト単位)。An integer value that specifies the maximum size, in bytes, of a buffer that stores messages while they are processed for an endpoint configured with this binding. 既定値は 65,536 バイトです。The default value is 65,536 bytes.
maxReceivedMessageSize このバインディングで構成されるチャネルが受信可能なメッセージの最大メッセージ サイズ (ヘッダーを含む) をバイト単位で定義する正の整数。A positive integer that defines the maximum message size, in bytes, including headers, for a message that can be received on a channel configured with this binding. 受信側のメッセージが大きすぎると、送信側は SOAP エラーを受け取ります。The sender receives a SOAP fault if the message is too large for the receiver. メッセージは受信者によって破棄され、トレース ログにこのイベントのエントリが作成されます。The receiver drops the message and creates an entry of the event in the trace log. 既定値は 65,536 バイトです。The default is 65,536 bytes.
messageEncoding SOAP メッセージのエンコードに使用されるエンコーダーを定義します。Defines the encoder used to encode the SOAP message. 以下の値が有効です。Valid values include the following:

: テキストは、テキスト メッセージ エンコーダーを使用します。- Text: Use a text message encoder.
Mtom: は、メッセージ Transmission Organization Mechanism 1.0 (MTOM) エンコーダーを使用します。- Mtom: Use a Message Transmission Organization Mechanism 1.0 (MTOM) encoder.

既定値は Text です。The default is Text. この属性は WSMessageEncoding 型です。This attribute is of type WSMessageEncoding.
name バインディングの構成名を格納する文字列です。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. 各バインドには、サービスのメタデータでこれをまとめて一意に識別する name および namespace 属性が含まれています。Each binding has a name and namespace attribute that together uniquely identify it in the metadata of the service. また、この名前は、同じ種類のバインディング間で一意です。In addition, this name is unique among bindings of the same type. .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.
namespace バインディングの XML 名前空間を指定します。Specifies the XML namespace of the binding. 既定値は "http://tempuri.org/Bindings" です。The default value is "http://tempuri.org/Bindings". 各バインドには、サービスのメタデータでこれをまとめて一意に識別する name および namespace 属性が含まれています。Each binding has a name and namespace attribute that together uniquely identify it in the metadata of the service.
openTimeout 実行中の操作が完了するまでの時間間隔を指定する 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.
proxyAddress HTTP プロキシのアドレスを格納する URI。A URI that contains the address of the HTTP proxy. useSystemWebProxytrue に設定されている場合、この設定は null である必要があります。If useSystemWebProxy is set to true, this setting must be null. 既定値は、null です。The default is null.
receiveTimeout 受信操作が完了するまでの時間間隔を指定する 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:10:00 です。The default is 00:10:00.
sendTimeout 送信操作が完了するまでの時間間隔を指定する 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.
textEncoding バインディングでメッセージの発行に使用される文字セット エンコーディングを設定します。Sets the character set encoding to be used for emitting messages on the binding. 以下の値が有効です。Valid values include the following:

-BigEndianUnicode: Unicode BigEndian エンコーディングします。- BigEndianUnicode: Unicode BigEndian encoding.
Unicode: 16 ビット エンコーディング。- Unicode: 16-bit encoding.
UTF8: 8 ビットのエンコーディング- UTF8: 8-bit encoding

既定値は UTF8 です。The default is UTF8. この属性は Encoding 型です。This attribute is of type Encoding.
transferMode 要求または応答に対してメッセージがバッファーされるか、ストリーム配信されるかを指定する有効な TransferMode 値。A valid TransferMode value that specifies whether messages are buffered or streamed on a request or response.
useDefaultWebProxy 使用できる場合にシステムの自動設定 HTTP プロキシを使用するかどうかを指定するブール値。A Boolean value that specifies whether the auto-configured HTTP proxy of the system should be used, if available. 既定値は、true です。The default is true.

子要素Child Elements

要素Element 説明Description
<security><security> バインディングのセキュリティ設定を定義します。Defines the security settings for the binding. この要素は BasicHttpSecurityElement 型です。This element is of type BasicHttpSecurityElement.
<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.

親要素Parent Elements

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

コメントRemarks

BasicHttpBinding では、SOAP 1.1 メッセージを送信するために、HTTP をトランスポートとして使用します。The BasicHttpBinding uses HTTP as the transport for sending SOAP 1.1 messages. サービスは、ASMX クライアントが消費するエンドポイントなど、WS-I BP 1.1 に準拠するエンドポイントを開示するためにこのバインディングを使用できます。A service can use this binding to expose endpoints that conform to WS-I BP 1.1, such as those that ASMX clients consume. 同様に、クライアントは BasicHttpBinding を使用して、ASMX Web サービスや BasicHttpBinding で構成されるサービスなどの WS-I BP 1.1 に準じるエンドポイントを公開するサービスと通信できます。Similarly, a client can use the BasicHttpBinding to communicate with services exposing endpoints that conform to WS-I BP 1.1, such as ASMX Web services or services configured with the BasicHttpBinding.

セキュリティは既定では、になっていますの mode 属性の設定を追加できます、 <セキュリティ >以外の値を子要素Noneです。Security is turned off by default, but can be added setting the mode attribute of the <security> child element to a value other than None. サービスは、"Text" メッセージ エンコードおよび UTF-8 テキスト エンコードを既定で使用します。It uses a "Text" message encoding and UTF-8 text encoding by default.

Example

第 1 世代と第 2 世代の Web サービスで HTTP 通信と最大限の相互運用性を実現する、BasicHttpBinding の使用例を次に示します。The following example demonstrates the use of BasicHttpBinding that provides HTTP communication and maximum interoperability with first- and second-generation Web services. バインディングは、クライアントとサービスの構成ファイルに指定されます。The binding is specified in the configuration files for the client and service. バインディングの種類は、binding 要素の <endpoint> 属性を使用して指定します。The binding type is specified using the binding attribute of the <endpoint> element. 基本的なバインディングを構成してその設定の一部を変更する場合は、バインディング構成を定義する必要があります。If you want to configure the basic binding and change some of its settings, it is necessary to define a binding configuration. エンドポイントは、bindingConfiguration 要素の <endpoint> 属性を使用して、名前でバインディング構成を参照する必要があります。次のサービスの構成コードを参照してください。The endpoint must reference the binding configuration by name by using the bindingConfiguration attribute of the <endpoint> element, as shown in the following configuration code for the service.

<system.serviceModel>   
  <services>  
    <service   
        type="Microsoft.ServiceModel.Samples.CalculatorService"  
        behaviorConfiguration="CalculatorServiceBehavior">  
       <endpoint address=""  
             binding="basicHttpBinding"  
             bindingConfiguration="Binding1"   
             contract="Microsoft.ServiceModel.Samples.ICalculator" />  
    </service>  
  </services>  
  <bindings>  
     <basicHttpBinding>  
        <binding name="Binding1"   
               hostNameComparisonMode="StrongWildcard"   
               receiveTimeout="00:10:00"  
               sendTimeout="00:10:00"  
               openTimeout="00:10:00"  
               closeTimeout="00:10:00"  
               maxReceivedMessageSize="65536"   
               maxBufferSize="65536"   
               maxBufferPoolSize="524288"   
               transferMode="Buffered"   
               messageEncoding="Text"   
               textEncoding="utf-8"  
               bypassProxyOnLocal="false"  
               useDefaultWebProxy="true" >  
              <security mode="None" />  
         </binding>  
     </basicHttpBinding>  
  </bindings>  
</system.serviceModel>  

Example

.NET Framework 4.NET Framework 4 以降では、バインディングおよび動作に名前を付ける必要はありません。Starting with .NET Framework 4.NET Framework 4, bindings and behaviors are not required to have a name. 前の例の機能を実行するには、エンドポイント アドレスの bindingConfiguration とバインディングの名前を削除します。The functionality from the previous example can be accomplished by removing the bindingConfiguration from the endpoint address and the name frm the binding.

<system.serviceModel>   
  <services>  
    <service   
        type="Microsoft.ServiceModel.Samples.CalculatorService"  
        behaviorConfiguration="CalculatorServiceBehavior">  
       <endpoint address=""  
             binding="basicHttpBinding"  
             contract="Microsoft.ServiceModel.Samples.ICalculator" />  
    </service>  
  </services>  
  <bindings>  
     <basicHttpBinding>  
        <binding   
               hostNameComparisonMode="StrongWildcard"   
               receiveTimeout="00:10:00"  
               sendTimeout="00:10:00"  
               openTimeout="00:10:00"  
               closeTimeout="00:10:00"  
               maxReceivedMessageSize="65536"   
               maxBufferSize="65536"   
               maxBufferPoolSize="524288"   
               transferMode="Buffered"   
               messageEncoding="Text"   
               textEncoding="utf-8"  
               bypassProxyOnLocal="false"  
               useDefaultWebProxy="true" >  
              <security mode="None" />  
         </binding>  
     </basicHttpBinding>  
  </bindings>  
</system.serviceModel>  

既定の構成と無名のバインディングおよび動作の詳細については、次を参照してください。簡略化された構成WCF サービスの構成を簡略化です。For more information about default configuration and nameless bindings and behaviors, see Simplified Configuration and Simplified Configuration for WCF Services.

関連項目See Also

Binding
BindingElement
BasicHttpBinding
BasicHttpBindingElement
バインディングBindings
システムが提供するバインディングの構成Configuring System-Provided Bindings
バインディングを使用して、Windows Communication Foundation サービスとクライアントを構成するにはUsing Bindings to Configure Windows Communication Foundation Services and Clients
<binding><binding>