<<basicHttpBinding>>
ASMX ベースの Web サービス、クライアント、および WS-I Basic Profile 1.1 に準じるその他のサービスと通信できるエンドポイントを構成および公開するために Windows Communication Foundation (WCF) サービスが使用できるバインディングを表します。
<system.serviceModel>
<bindings>
<<basicHttpBinding>>
<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 maxDepth="Integer"
maxStringContentLength="Integer"
maxByteArrayContentLength="Integer"
maxBytesPerRead="Integer"
maxNameTableCharCount="Integer" />
</binding>
</basicHttpBinding>
属性および要素
属性
属性 | 説明 |
---|---|
allowCookies |
クライアントが Cookie を受け入れて、それらを今後の要求に反映させるかどうかを指定するブール値です。既定値は false です。 Cookie を使用する ASMX Web サービスと対話する場合にこのプロパティを使用できます。この方法で、サーバーから返される Cookie を、それ以降のサービスに対するすべてのクライアント要求に自動的にコピーできます。 |
bypassProxyOnLocal |
ローカル アドレスでプロキシ サーバーをバイパスするかどうかを示すブール値。既定値は false です。 インターネット リソースは、ローカル アドレスを持つ場合ローカルです。ローカル アドレスは、同じコンピュータ上、ローカル LAN 上、またはイントラネット上にあり、"http://webserver/"、"https://localhost/" などのピリオド (.) を含まない URI により構文的に識別されるアドレスです。 この属性の設定は、BasicHttpBinding で構成されたエンドポイントがローカル リソースへのアクセス時にプロキシ サーバーを使用するかどうかを示します。この属性が true の場合、ローカル インターネット リソースへの要求はプロキシ サーバーを使用しません。この属性を true に設定した場合で、同じコンピュータ上のサービスと対話するクライアントがプロキシを経由するときは、(localhost ではなく) ホスト名を使用します。 この属性が false の場合、すべてのインターネット要求はプロキシ サーバー経由で行われます。 |
closeTimeout |
クローズ操作が完了するまでの期間を指定する TimeSpan 値。この値は必ず Zero 以上である必要があります。既定値は 00:01:00 です。 |
envelopeVersion |
このバインディングによって処理されるメッセージに使用される SOAP のバージョンを指定します。有効値は、Soap11 のみです。 |
hostnameComparisonMode |
URI の解析に使用する HTTP ホスト名比較モードを指定します。この属性は HostnameComparisonMode 型で、URI が一致したときにサービスへのアクセスにホスト名を使用するかどうかを指定します。既定値は StrongWildcard で、一致しているホスト名を無視します。 |
maxBufferPoolSize |
チャネルからメッセージを受け取るメッセージ バッファのマネージャが使用するために割り当てられる、最大メモリ量を指定する整数値。既定値は 524288 (0x80000) バイトです。 バッファ マネージャは、バッファ プールを使用することで、バッファの使用コストを最小化します。バッファは、チャネルから出てくるメッセージをサービスが処理するときに必要です。メッセージの読み込み処理に十分なメモリがバッファ プールにない場合、バッファ マネージャは、CLR ヒープから追加のメモリを割り当てる必要があります。これにより、ガベージ コレクションのオーバーヘッドが増加します。CLR ガベージ ヒープから多大な割り当てが行われることは、バッファ プール サイズが小さすぎること、およびこの属性で指定される制限を緩めて割り当てを増やすとパフォーマンスが向上する可能性があることを示します。 |
maxBufferSize |
このバインディングで構成されるエンドポイントのメッセージが処理されるときのメッセージを格納するバッファの最大サイズを指定する整数値 (バイト単位)。既定値は 65,536 バイトです。 |
maxReceivedMessageSize |
このバインディングで構成されるチャネルが受信可能なメッセージの最大メッセージ サイズ (ヘッダーを含む) をバイト単位で定義する正の整数。受信側のメッセージが大きすぎると、送信側は SOAP エラーを受け取ります。受信者がメッセージをドロップし、トレース ログにそのイベントのエントリを作成します。既定値は 65,536 バイトです。 |
messageEncoding |
SOAP メッセージのエンコードに使用されるエンコーダを定義します。有効な値は次のとおりです。
既定値は Text です。この属性は WSMessageEncoding 型です。 |
messageVersion |
バインディングで構成されるクライアントとサービスが使用するメッセージ バージョンを指定します。この属性は MessageVersion 型です。 |
name |
バインディングの設定名を格納する文字列です。この値は、バインドの ID として使用されるため、一意にする必要があります。各バインドには、サービスのメタデータでこれをまとめて一意に識別する name および namespace 属性が含まれています。また、この名前は、同じ種類のバインド間で一意です。 |
namespace |
バインディングの XML 名前空間を指定します。既定値は "http://tempuri.org/Bindings" です。各バインドには、サービスのメタデータでこれをまとめて一意に識別する name および namespace 属性が含まれています。 |
openTimeout |
実行中の操作が完了するまでの時間間隔を指定する TimeSpan 値です。この値は必ず Zero 以上である必要があります。既定値は 00:01:00 です。 |
proxyAddress |
HTTP プロキシのアドレスを格納する URI。useSystemWebProxy がtrue に設定されている場合、この設定は null である必要があります。既定値は null です。 |
receiveTimeout |
受信操作が完了するまでの時間間隔を指定する TimeSpan 値です。この値は必ず Zero 以上である必要があります。既定値は 00:10:00 です。 |
sendTimeout |
送信操作が完了するまでの時間間隔を指定する TimeSpan 値です。この値は必ず Zero 以上である必要があります。既定値は 00:01:00 です。 |
textEncoding |
バインディングでメッセージの発行に使用される文字セット エンコーディングを設定します。有効な値は次のとおりです。
既定値は UTF8 です。この属性は Encoding 型です。 |
transferMode |
要求または応答に対してメッセージがバッファされるか、ストリーム配信されるかを指定する有効な TransferMode 値。 |
useDefaultWebProxy |
使用できる場合にシステムの自動設定 HTTP プロキシを使用するかどうかを指定するブール値。既定値は true です。 |
子要素
要素 | 説明 |
---|---|
バインディングのセキュリティ設定を定義します。この要素は BasicHttpSecurityElement 型です。 |
|
このバインディングを使用して設定されるエンドポイントにより処理可能な、SOAP メッセージの複雑さに対する制約を定義します。この要素は XmlDictionaryReaderQuotasElement 型です。 |
親要素
要素 | 説明 |
---|---|
この要素には、標準バインディングおよびカスタム バインディングのコレクションが保持されます。各エントリは、その一意の name により識別されます。サービスは、name を使用してバインディングをリンクすることにより、バインディングを使用します。 |
解説
BasicHttpBinding では、SOAP 1.1 メッセージを送信するために、HTTP をトランスポートとして使用します。サービスは、ASMX クライアントが消費するエンドポイントなど、WS-I BP 1.1 に準拠するエンドポイントを開示するためにこのバインディングを使用できます。同様に、クライアントは BasicHttpBinding を使用して、ASMX Web サービスや BasicHttpBinding で構成されるサービスなどの WS-I BP 1.1 に準じるエンドポイントを公開するサービスと通信できます。
既定ではセキュリティは無効になります。ただし、<basicHttpBinding> の <security> 子要素のモード属性に None 以外の値を設定してセキュリティを追加できます。サービスは、"Text" メッセージ エンコードおよび UTF-8 テキスト エンコードを既定で使用します。
例
第 1 世代と第 2 世代の Web サービスで HTTP 通信と最大限の相互運用性を実現する、basicHttpBinding の使用例を次に示します。バインディングは、クライアントとサービスの構成ファイルに指定されます。バインディングの種類は、<endpoint> 要素の binding 属性を使用して指定します。基本的なバインディングを構成してその設定の一部を変更する場合は、バインディング構成を定義する必要があります。エンドポイントは、<endpoint> 要素の bindingConfiguration 属性を使用して、名前でバインディング構成を参照する必要があります。次のサービスの構成コードを参照してください。
<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"
maxMessageSize="65536"
maxBufferSize="65536"
maxBufferPoolSize="524288"
transferMode="Buffered"
messageEncoding="Text"
textEncoding="utf-8"
bypassProxyOnLocal="false"
useDefaultWebProxy="true" >
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
</system.serviceModel>
関連項目
リファレンス
Binding
BindingElement
BasicHttpBinding
BasicHttpBindingElement
概念
その他の技術情報
Windows Communication Foundation Bindings
Configuring System-Provided Bindings
Using Bindings to Configure Services and Clients