<netTcpBinding><netTcpBinding>

Spécifie une liaison sécurisée, fiable et optimisée, adaptée à la communication entre ordinateurs.Specifies a secure, reliable, optimized binding suitable for cross-machine communication. Par défaut, elle génère une pile de communication du runtime avec Windows Security pour la sécurité et l'authentification des messages, TCP pour la remise de messages et un encodage de message binaire.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>

SyntaxeSyntax

<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>

Attributs et élémentsAttributes and elements

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.The following sections describe attributes, child elements, and parent elements.

AttributsAttributes

AttributAttribute DescriptionDescription
closeTimeout TimeSpan qui spécifie l'intervalle de temps prévu pour la réalisation d'une opération de fermeture.A TimeSpan value that specifies the interval of time provided for a close operation to complete. Cette valeur doit être supérieure ou égale à Zero.This value should be greater than or equal to Zero. La valeur par défaut est 00:01:00.The default is 00:01:00.
hostNameComparisonMode Spécifie le mode de comparaison du nom d'hôte HTTP utilisé pour analyser des URI.Specifies the HTTP hostname comparison mode used to parse URIs. Cet attribut est de type HostNameComparisonMode, ce qui indique si le nom d'hôte est utilisé pour atteindre le service en cas de correspondance sur l'URI.This attribute is of type HostNameComparisonMode, which indicates whether the hostname is used to reach the service when matching on the URI. La valeur par défaut est StrongWildcard, qui ignore le nom d'hôte dans la correspondance.The default value is StrongWildcard, which ignores the hostname in the match.
listenBacklog Entier positif qui spécifie le nombre maximal des canaux en attente d'être acceptés sur l'écouteur.A positive integer that specifies the maximum number of channels waiting to be accepted on the listener. Les connexions dépassant cette limite sont mises en file d'attente jusqu'à ce que de l'espace soit disponible en dessous cette limite.Connections in excess of this limit are queued until space below the limit becomes available. L'attribut connectionTimeout limite le temps que devra attendre un client pour être connecté avant de lever une exception de connexion.The connectionTimeout attribute limits the time a client will wait to be connected before throwing a connection exception. La valeur par défaut est 10.The default is 10.
maxBufferPoolSize Entier qui spécifie la taille maximale du pool de mémoires tampons pour cette liaison.An integer that specifies the maximum buffer pool size for this binding. La valeur par défaut est 512 x 1024 octets.The default is 512 * 1024 bytes. De nombreuses parties de Windows Communication Foundation (WCF) utilisent des mémoires tampons.Many parts of Windows Communication Foundation (WCF) use buffers. La création et la destruction des mémoires tampons à chaque utilisation sont chères, tout comme leur nettoyage.Creating and destroying buffers each time they are used is expensive, and garbage collection for buffers is also expensive. Avec les pools de mémoires tampons, vous pouvez prendre une mémoire tampon du pool, l'utiliser et la retourner au pool une fois que vous avez terminé.With buffer pools, you can take a buffer from the pool, use it, and return it to the pool once you are done. Ainsi, la surcharge de la création et de la destruction des mémoires tampons est évitée.Thus the overhead in creating and destroying buffers is avoided.
maxBufferSize Entier positif qui spécifie la taille maximale, en octets, de la mémoire tampon utilisée pour stocker des messages en mémoire.A positive integer that specifies the maximum size, in bytes, of the buffer used to store messages in memory.

Si l'attribut transferMode est égal à Buffered, cet attribut doit être égal à la valeur de l'attribut maxReceivedMessageSize.If the transferMode attribute equals to Buffered, this attribute should be equal to the maxReceivedMessageSize attribute value.

Si l'attribut transferMode est égal à Streamed, cet attribut ne peut pas être supérieur à la valeur de l'attribut maxReceivedMessageSize et doit être au moins de la taille des en-têtes.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.

La valeur par défaut est 65536.The default is 65536. Pour plus d'informations, consultez MaxBufferSize.For more information, see MaxBufferSize.
maxConnections Entier qui spécifie le nombre maximal de connexions sortantes et entrantes que le service créera/acceptera.An integer that specifies the maximum number of outbound and inbound connections the service will create/accept. Les connexions entrantes et sortantes sont comptées par rapport à une limite distincte spécifiée par cet attribut.Incoming and outgoing connections are counted against a separate limit specified by this attribute.

Les connexions entrantes dépassant cette limite sont mises en file d'attente jusqu'à ce que de l'espace soit disponible sous cette limite.Inbound connections in excess of the limit are queued until a space below the limit becomes available.

Les connexions sortantes dépassant cette limite sont mises en file d'attente jusqu'à ce que de l'espace soit disponible sous cette limite.Outbound connections in excess of the limit are queued until a space below the limit becomes available.

La valeur par défaut est 10.The default is 10.
maxReceivedMessageSize Entier positif qui spécifie la taille maximale du message, en octets, y compris les en-têtes, pouvant être reçu sur un canal configuré avec cette liaison.A positive integer that specifies the maximum message size, in bytes, including headers, that can be received on a channel configured with this binding. L'expéditeur d'un message qui dépasse cette limite se verra notifier une erreur SOAP.The sender of a message exceeding this limit will receive a SOAP fault. Ce dernier dépose le message et crée une entrée d’événement dans le journal de suivi.The receiver drops the message and creates an entry of the event in the trace log. La valeur par défaut est 65536.The default is 65536.
name Chaîne qui contient le nom de configuration de la liaison.A string that contains the configuration name of the binding. Cette valeur doit être unique car elle permet d'identifier la liaison.This value should be unique because it is used as an identification for the binding. Depuis .NET Framework 4.NET Framework 4, les liaisons et les comportements ne sont pas obligés d’avoir un nom.Starting with .NET Framework 4.NET Framework 4, bindings and behaviors are not required to have a name. Pour plus d’informations sur la configuration par défaut et les liaisons sans nom et les comportements, consultez Simplified Configuration et Simplified Configuration for WCF Services.For more information about default configuration and nameless bindings and behaviors, see Simplified Configuration and Simplified Configuration for WCF Services.
openTimeout TimeSpan qui spécifie l'intervalle de temps prévu pour la réalisation d'une opération d'ouverture.A TimeSpan value that specifies the interval of time provided for an open operation to complete. Cette valeur doit être supérieure ou égale à Zero.This value should be greater than or equal to Zero. La valeur par défaut est 00:01:00.The default is 00:01:00.
portSharingEnabled Valeur booléenne qui spécifie si le partage de port TCP est activé pour cette connexion.A Boolean value that specifies whether TCP port sharing is enabled for this connection. Si elle est définie à false, chaque de liaison utilise son propre port exclusif.If this is false, each binding uses its own exclusive port. Ce paramètre est uniquement pertinent aux services, du fait que les clients ne sont pas affectés.This setting is relevant only to services, because clients are not affected.
receiveTimeout TimeSpan qui spécifie l'intervalle de temps prévu pour la réalisation d'une opération de réception.A TimeSpan value that specifies the interval of time provided for a receive operation to complete. Cette valeur doit être supérieure ou égale à Zero.This value should be greater than or equal to Zero. La valeur par défaut est 00:10:00.The default is 00:10:00.
sendTimeout TimeSpan qui spécifie l'intervalle de temps prévu pour la réalisation d'une opération d'envoi.A TimeSpan value that specifies the interval of time provided for a send operation to complete. Cette valeur doit être supérieure ou égale à Zero.This value should be greater than or equal to Zero. La valeur par défaut est 00:01:00.The default is 00:01:00.
transactionFlow Valeur booléenne qui spécifie si la liaison prend en charge le flux WS-Transactions.A Boolean value that specifies whether the binding supports flowing WS-Transactions. La valeur par défaut est false.The default is false.
transactionProtocol Spécifie le protocole de transaction à utiliser avec cette liaison.Specifies the transaction protocol to be used with this binding. Les valeurs valides sont les suivantes :Valid values are

- OleTransactions- OleTransactions
- WSAtomicTransactionOctober2004- WSAtomicTransactionOctober2004

La valeur par défaut est OleTransactions.The default is OleTransactions. Cet attribut est de type TransactionProtocol.This attribute is of type TransactionProtocol.
transferMode Valeur TransferMode qui spécifie si les messages sont mis en mémoire tampon ou transmis en continu ou s'il s'agit d'une demande ou d'une réponse.A TransferMode value that specifies whether messages are buffered or streamed or a request or response.

Éléments enfantsChild elements

ÉlémentElement DescriptionDescription
<security><security> Définit les paramètres de sécurité de la liaison.Defines the security settings for the binding. Cet élément est de type NetTcpSecurityElement.This element is of type NetTcpSecurityElement.
<readerQuotas><readerQuotas> Définit les contraintes sur la complexité des messages SOAP pouvant être traités par les points de terminaison configurés avec cette liaison.Defines the constraints on the complexity of SOAP messages that can be processed by endpoints configured with this binding. Cet élément est de type XmlDictionaryReaderQuotasElement.This element is of type XmlDictionaryReaderQuotasElement.
<reliableSession><reliableSession> Spécifie si des sessions fiables sont établies entre les points de terminaison du canal.Specifies if reliable sessions are established between channel endpoints.

Éléments parentsParent elements

ÉlémentElement DescriptionDescription
<bindings><bindings> Cet élément conserve une collection de liaisons standard et personnalisées.This element holds a collection of standard and custom bindings.

NotesRemarks

Par défaut, cette liaison génère une pile de communication au moment de l'exécution, qui utilise la sécurité de transport, le protocole TCP pour la remise des messages et un encodage de message binaire.This binding generates a run-time communication stack by default, which uses transport security, TCP for message delivery, and a binary message encoding. Cette liaison est un choix de fournie par le système de Windows Communication Foundation (WCF) approprié pour communiquer via un Intranet.This binding is an appropriate Windows Communication Foundation (WCF) system-provided choice for communicating over an Intranet.

La configuration par défaut pour le netTcpBinding est plus rapide que la configuration fournie par le wsHttpBinding, mais il est conçu uniquement pour la communication de WCF.The default configuration for the netTcpBinding is faster than the configuration provided by the wsHttpBinding, but it is intended only for WCF communication. Le comportement de sécurité est configurable à l'aide de l'attribut facultatif securityMode.The security behavior is configurable using the optional securityMode attribute. L'utilisation de WS-ReliableMessaging peut être configurée à l'aide de l'attribut facultatif reliableSessionEnabled.The use of WS-ReliableMessaging is configurable using the optional reliableSessionEnabled attribute. Mais les fonctionnalités de messagerie fiable sont désactivées par défaut.But reliable messaging is off by default. Plus généralement, les liaisons fournies par le système HTTP telles que wsHttpBinding et basicHttpBinding sont configurées pour activer certains éléments par défaut, alors que la liaison netTcpBinding en désactive par défaut. Par conséquent, vous devez demander de l’aide explicitement, par exemple pour les spécifications 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. Ainsi, la configuration TCP par défaut permet d’échanger des messages entre points de terminaison plus rapidement que ceux configurés par défaut pour les liaisons 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.

ExempleExample

La liaison est spécifiée dans les fichiers de configuration pour le client et le service.The binding is specified in the configuration files for the client and service. Le type de liaison est spécifié dans l’attribut binding de l’élément <endpoint>.The binding type is specified in the binding attribute of the <endpoint> element. Si vous souhaitez configurer la liaison netTcpBinding et modifier quelques-uns de ses paramètres, il est nécessaire de définir une configuration de liaison.If you want to configure the netTcpBinding binding and change some of its settings, it is necessary to define a binding configuration. Le point de terminaison doit référencer la configuration de liaison avec un attribut bindingConfiguration.The endpoint must reference the binding configuration with a bindingConfiguration attribute. Dans l’exemple suivant, une configuration de liaison est définie.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>

Voir aussiSee also