Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Spécifie une liaison sécurisée, fiable et optimisée adaptée à la communication entre ordinateurs. Par défaut, il génère une pile de communication runtime avec Sécurité Windows pour la sécurité et l’authentification des messages, TCP pour la remise des messages et l’encodage de message binaire.
<configuration>
<system.serviceModel>
<bindings>
<netTcpBinding>
Syntaxe
<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éments
Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.
Attributes
| Caractéristique | Descriptif |
|---|---|
closeTimeout |
Valeur TimeSpan qui spécifie l’intervalle de temps fourni pour qu’une opération de fermeture se termine. Cette valeur doit être supérieure ou égale à Zero. La valeur par défaut est 00:01:00. |
hostNameComparisonMode |
Spécifie le mode de comparaison de noms d’hôte HTTP utilisé pour analyser les URI. Cet attribut est de type HostNameComparisonMode, qui indique si le nom d’hôte est utilisé pour atteindre le service lors de la correspondance sur l’URI. La valeur par défaut est StrongWildcard, qui ignore le nom d’hôte dans la correspondance. |
listenBacklog |
Entier positif qui spécifie le nombre maximal de canaux en attente d’acceptation sur l’écouteur. Les connexions supérieures à cette limite sont mises en file d’attente jusqu’à ce que l’espace inférieur à la limite devienne disponible. L’attribut connectionTimeout limite le temps pendant laquelle un client attendra d’être connecté avant de lever une exception de connexion. La valeur par défaut est de 10. |
maxBufferPoolSize |
Entier qui spécifie la taille maximale du pool de mémoires tampons pour cette liaison. La valeur par défaut est 512 * 1024 octets. De nombreuses parties de Windows Communication Foundation (WCF) utilisent des mémoires tampons. La création et la destruction de mémoires tampons chaque fois qu’elles sont utilisées est coûteuse et le garbage collection pour les mémoires tampons est également coûteux. Avec les pools de mémoires tampons, vous pouvez prendre une mémoire tampon à partir du pool, l’utiliser et la retourner au pool une fois que vous avez terminé. Ainsi, la surcharge dans la création et la destruction de mémoires tampons est évitée. |
maxBufferSize |
Entier positif qui spécifie la taille maximale, en octets, de la mémoire tampon utilisée pour stocker les messages en mémoire. Si l’attribut transferMode est égal à Buffered, cet attribut doit être égal à la valeur de l’attribut maxReceivedMessageSize .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 la taille des en-têtes.La valeur par défaut est 65536. Pour plus d’informations, consultez MaxBufferSize. |
maxConnections |
Entier qui spécifie le nombre maximal de connexions sortantes et entrantes que le service crée/accepte. Les connexions entrantes et sortantes sont comptabilisées par rapport à une limite distincte spécifiée par cet attribut. Les connexions entrantes dépassant la limite sont mises en file d’attente jusqu’à ce qu’un espace inférieur à la limite devienne disponible. Les connexions sortantes dépassant la limite sont mises en file d’attente jusqu’à ce qu’un espace inférieur à la limite soit disponible. La valeur par défaut est de 10. |
maxReceivedMessageSize |
Entier positif qui spécifie la taille maximale du message, en octets, y compris les en-têtes, qui peuvent être reçus sur un canal configuré avec cette liaison. L’expéditeur d’un message dépassant cette limite reçoit une erreur SOAP. Le destinataire supprime le message et crée une entrée de l’événement dans le journal des traces. La valeur par défaut est 65536. |
name |
Chaîne qui contient le nom de configuration de la liaison. Cette valeur doit être unique, car elle est utilisée comme identification pour la liaison. À compter de .NET Framework 4, les liaisons et les comportements ne sont pas nécessaires pour avoir un nom. Pour plus d’informations sur la configuration par défaut et les liaisons sans nom et les comportements, consultez Configuration simplifiée et Configuration simplifiée pour les services WCF. |
openTimeout |
Valeur TimeSpan qui spécifie l’intervalle de temps fourni pour qu’une opération ouverte se termine. Cette valeur doit être supérieure ou égale à Zero. La valeur par défaut est 00:01:00. |
portSharingEnabled |
Valeur booléenne qui spécifie si le partage de ports TCP est activé pour cette connexion. Si c’est falsele cas, chaque liaison utilise son propre port exclusif. Ce paramètre s’applique uniquement aux services, car les clients ne sont pas affectés. |
receiveTimeout |
Valeur TimeSpan qui spécifie l’intervalle de temps fourni pour qu’une opération de réception se termine. Cette valeur doit être supérieure ou égale à Zero. La valeur par défaut est 00:10:00. |
sendTimeout |
Valeur TimeSpan qui spécifie l’intervalle de temps fourni pour qu’une opération d’envoi se termine. Cette valeur doit être supérieure ou égale à Zero. La valeur par défaut est 00:01:00. |
transactionFlow |
Valeur booléenne qui spécifie si la liaison prend en charge le flux WS-Transactions. La valeur par défaut est false. |
transactionProtocol |
Spécifie le protocole de transaction à utiliser avec cette liaison. Les valeurs valides sont - OleTransactions - WSAtomicTransactionOctober2004 La valeur par défaut est OleTransactions. Cet attribut est de type TransactionProtocol. |
transferMode |
Valeur TransferMode qui spécifie si les messages sont mis en mémoire tampon ou diffusées en continu, ou une demande ou une réponse. |
Éléments enfants
| Élément | Descriptif |
|---|---|
| <sécurité> | Définit les paramètres de sécurité de la liaison. Cet élément est de type NetTcpSecurityElement. |
| <readerQuotas> | Définit les contraintes relatives à la complexité des messages SOAP qui peuvent être traités par les points de terminaison configurés avec cette liaison. Cet élément est de type XmlDictionaryReaderQuotasElement. |
| <reliableSession> | Spécifie si des sessions fiables sont établies entre les points de terminaison de canal. |
Éléments parents
| Élément | Descriptif |
|---|---|
| <Liaisons> | Cet élément contient une collection de liaisons standard et personnalisées. |
Remarques
Cette liaison génère une pile de communication runtime par défaut, qui utilise la sécurité de transport, TCP pour la remise des messages et un encodage de message binaire. Cette liaison est un choix système fourni par Windows Communication Foundation (WCF) approprié pour communiquer sur un intranet.
La configuration par défaut est netTcpBinding plus rapide que la configuration fournie par le service , mais elle est destinée uniquement à la wsHttpBindingcommunication WCF. Le comportement de sécurité est configurable à l’aide de l’attribut facultatif securityMode . L’utilisation de WS-ReliableMessaging est configurable à l’aide de l’attribut facultatif reliableSessionEnabled . Mais la messagerie fiable est désactivée par défaut. Plus généralement, les liaisons fournies par le système HTTP, telles que wsHttpBinding et basicHttpBinding configurées pour activer les éléments par défaut, tandis que la netTcpBinding liaison désactive les éléments par défaut afin que vous deviez choisir d’obtenir la prise en charge, par exemple, pour l’une des spécifications WS-*. Cela signifie que la configuration par défaut pour TCP est plus rapide lors de l’échange de messages entre des points de terminaison que ceux configurés pour les liaisons HTTP par défaut.
Example
La liaison est spécifiée dans les fichiers de configuration du client et du service. Le type de liaison est spécifié dans l’attribut binding de l’élément <endpoint> . Si vous souhaitez configurer la liaison netTcpBinding et modifier certains de ses paramètres, il est nécessaire de définir une configuration de liaison. Le point de terminaison doit référencer la configuration de liaison avec un bindingConfiguration attribut. Dans l’exemple suivant, une configuration de liaison est définie.
<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>