<netTcpBinding ><netTcpBinding>

複数コンピューターの通信に適し、セキュリティで保護されて信頼できる最適化されたバインディングを指定します。Specifies a secure, reliable, optimized binding suitable for cross-machine communication. 既定では、メッセージ セキュリティと認証用 Windows セキュリティ、メッセージ配信用 TCP、およびバイナリ メッセージ エンコーディングを持つランタイム通信スタックを生成します。By default, it generates a runtime communication stack with Windows Security for message security and authentication, TCP for message delivery, and binary message encoding.

<system.ServiceModel ><system.ServiceModel>
<bindings><bindings>
<netTcpBinding ><netTcpBinding>

構文Syntax

<netTcpBinding>
  <binding closeTimeout="TimeSpan"
           hostNameComparisonMode="StrongWildCard/Exact/WeakWildcard"
           listenBacklog="Integer"
           maxBufferPoolSize="integer"
           maxBufferSize="Integer"
           maxConnections="Integer"
           maxReceivedMessageSize="Integer"
           name="string"
           openTimeout="TimeSpan"
           portSharingEnabled="Boolean"
           receiveTimeout="TimeSpan"
           sendTimeout="TimeSpan"
           transactionFlow="Boolean"
           transactionProtocol="OleTransactions/WSAtomicTransactionOctober2004"
           transferMode="Buffered/Streamed/StreamedRequest/StreamedResponse">
    <reliableSession ordered="Boolean"
                     inactivityTimeout="TimeSpan"
                     enabled="Boolean" />
    <security mode="None/Transport/Message/Both">
      <message clientCredentialType="None/Windows/UserName/Certificate/CardSpace"
               algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15" />
      <transport clientCredentialType="None/Windows/Certificate"
                 protectionLevel="None/Sign/EncryptAndSign" />
    </security>
    <readerQuotas maxArrayLength="Integer"
                  maxBytesPerRead="Integer"
                  maxDepth="Integer"
                  maxNameTableCharCount="Integer"
                  maxStringContentLength="Integer" />
  </binding>
</netTcpBinding>

属性と要素Attributes and elements

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

属性Attributes

属性Attribute 説明Description
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.
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.
listenBacklog リスナーで受け入れを待機するチャネルの最大数を指定する正の整数。A positive integer that specifies the maximum number of channels waiting to be accepted on the listener. この制限を超えた接続は、制限内に空きができるまでキューに置かれます。Connections in excess of this limit are queued until space below the limit becomes available. connectionTimeout 属性は、クライアントが接続を待つ時間を制限します。この時間が経過すると接続の例外をスローします。The connectionTimeout attribute limits the time a client will wait to be connected before throwing a connection exception. 既定値は 10 です。The default is 10.
maxBufferPoolSize このバインディングに使用するバッファー プール サイズの上限を指定する整数。An integer that specifies the maximum buffer pool size for this binding. 既定は 512 * 1024 バイトです。The default is 512 * 1024 bytes. 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.
maxBufferSize メッセージをメモリに保存するのに使用するバッファーの最大サイズをバイト単位で指定する正の整数。A positive integer that specifies the maximum size, in bytes, of the buffer used to store messages in memory.

transferMode 属性が Buffered に等しい場合は、この属性が maxReceivedMessageSize 属性の値と等しくなっている必要があります。If the transferMode attribute equals to Buffered, this attribute should be equal to the maxReceivedMessageSize attribute value.

transferMode 属性が Streamed に等しい場合は、この属性が maxReceivedMessageSize 属性の値以下であり、またヘッダーのサイズ以上である必要があります。If the transferMode attribute equals to Streamed, this attribute cannot be more than the maxReceivedMessageSize attribute value, and should be at least the size of the headers.

既定値は 65536 です。The default is 65536. 詳細については、「 MaxBufferSize 」を参照してください。For more information, see MaxBufferSize.
maxConnections サービスが作成し受け付ける発信/着信接続数の上限を指定する整数。An integer that specifies the maximum number of outbound and inbound connections the service will create/accept. この属性により指定された別個の制限に対して、着信接続および発信接続がカウントされます。Incoming and outgoing connections are counted against a separate limit specified by this attribute.

制限を超える着信接続は、制限内に空きができるまでキューに置かれます。Inbound connections in excess of the limit are queued until a space below the limit becomes available.

制限を超える発信接続は、制限内に空きができるまでキューに置かれます。Outbound connections in excess of the limit are queued until a space below the limit becomes available.

既定値は 10 です。The default is 10.
maxReceivedMessageSize このバインディングで構成されるチャネルで受信可能な最大メッセージ サイズ (ヘッダーを含む) をバイト単位で指定する正の整数。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.
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. .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.
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.
portSharingEnabled TCP ポート共有をこの接続で有効にするかどうかを指定するブール値。A Boolean value that specifies whether TCP port sharing is enabled for this connection. これが false の場合、各バインドは独自の排他ポートを使用します。If this is false, each binding uses its own exclusive port. クライアントには影響しないため、この設定はサービスのみに関連します。This setting is relevant only to services, because clients are not affected.
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.
transactionFlow バインディングが WS-Transactions のフローをサポートするかどうかを指定するブール値です。A Boolean value that specifies whether the binding supports flowing WS-Transactions. 既定値は false です。The default is false.
transactionProtocol このバインディングで使用されるトランザクション プロトコルを指定します。Specifies the transaction protocol to be used with this binding. 有効な値は、次のとおりです。Valid values are

-OleTransactions- OleTransactions
- WSAtomicTransactionOctober2004- WSAtomicTransactionOctober2004

既定値は OleTransactions です。The default is OleTransactions. この属性は TransactionProtocol 型です。This attribute is of type TransactionProtocol.
transferMode メッセージが要求や応答をバッファーするか、ストリーミングするかを指定する TransferMode 値です。A TransferMode value that specifies whether messages are buffered or streamed or a request or response.

子要素Child elements

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

このバインディングは、既定ではランタイム通信スタックを生成し、トランスポート セキュリティ、メッセージ配信用 TCP、およびバイナリ メッセージ エンコーディングを使用します。This binding generates a run-time communication stack by default, which uses transport security, TCP for message delivery, and a binary message encoding. このバインディングは、イントラネット経由で通信するため適切な Windows Communication Foundation (WCF) システムで指定された方法です。This binding is an appropriate Windows Communication Foundation (WCF) system-provided choice for communicating over an Intranet.

既定の構成、netTcpBindingによって提供される構成よりも高速、 wsHttpBindingWCF の通信のみを対象としていますが、します。The default configuration for the netTcpBinding is faster than the configuration provided by the wsHttpBinding, but it is intended only for WCF communication. このセキュリティ動作は、省略可能な securityMode 属性を使用して構成できます。The security behavior is configurable using the optional securityMode attribute. WS-ReliableMessaging を使用するかどうかは、省略可能な reliableSessionEnabled 属性を使用して構成できます。The use of WS-ReliableMessaging is configurable using the optional reliableSessionEnabled attribute. ただし、信頼できるメッセージングは、既定ではオフです。But reliable messaging is off by default. wsHttpBindingbasicHttpBinding などの HTTP システム指定のバインディングは、既定では設定をオンにするように構成され、netTcpBinding バインディングは、既定では設定をオフにするように構成されているのが一般的であるため、たとえば、いずれかの WS-* 仕様のサポートを得るには、サポートを選択する必要があります。More generally, the HTTP system-provided bindings such as wsHttpBinding and basicHttpBinding are configured to turn things on by default, whereas the netTcpBinding binding turns things off by default so that you have to opt-in to get support, for example, for one of the WS-* specifications. これは、TCP の既定の構成の方が、HTTP バインディング用の既定の構成より、エンドポイント間でのメッセージ交換が高速になることを意味します。This means that the default configuration for TCP is faster at exchanging messages between endpoints than those configured for the HTTP bindings by default.

Example

バインディングは、クライアントとサービスの構成ファイルに指定されます。The binding is specified in the configuration files for the client and service. バインディングの種類は、binding 要素の <endpoint> 属性に指定します。The binding type is specified in the binding attribute of the <endpoint> element. netTcpBinding バインディングを構成してその設定の一部を変更する場合は、バインド構成を定義する必要があります。If you want to configure the netTcpBinding binding and change some of its settings, it is necessary to define a binding configuration. エンドポイントは、bindingConfiguration 属性を使用してバインディング構成を参照する必要があります。The endpoint must reference the binding configuration with a bindingConfiguration attribute. 次の例では、バインド構成を定義します。In the following example, a binding configuration is defined.

<services>
  <service name="Microsoft.ServiceModel.Samples.CalculatorService"
           behaviorConfiguration="CalculatorServiceBehavior">
    ...
    <endpoint address=""
              binding="netTcpBinding"
              contract="Microsoft.ServiceModel.Samples.ICalculator" />
    ...
  </service>
</services>
<bindings>
  <netTcpBinding>
    <binding closeTimeout="00:01:00"
             openTimeout="00:01:00"
             receiveTimeout="00:10:00"
             sendTimeout="00:01:00"
             transactionFlow="false"
             transferMode="Buffered"
             transactionProtocol="OleTransactions"
             hostNameComparisonMode="StrongWildcard"
             listenBacklog="10"
             maxBufferPoolSize="524288"
             maxBufferSize="65536"
             maxConnections="10"
             maxReceivedMessageSize="65536">
      <readerQuotas maxDepth="32"
                    maxStringContentLength="8192"
                    maxArrayLength="16384"
                    maxBytesPerRead="4096"
                    maxNameTableCharCount="16384" />
      <reliableSession ordered="true"
                       inactivityTimeout="00:10:00"
                       enabled="false" />
      <security mode="Transport">
        <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign" />
      </security>
    </binding>
  </netTcpBinding>
</bindings>

関連項目See also