Share via


<netMsmqBinding>

Définit une liaison mise en file d'attente adaptée à la communication entre ordinateurs.

<system.serviceModel>
  <bindings>
    <netMsmqBinding>

<netMsmqBinding>
    <binding 
       closeTimeout="TimeSpan" 
       customDeadLetterQueue="Uri"
       deadLetterQueue="Uri"
       durable="Boolean"
       exactlyOnce="Boolean" 
       maxBufferPoolSize="Integer"
       maxReceivedMessageSize"Integer"
       maxRetryCycles="Integer" 
       name="string" 
       openTimeout="TimeSpan" 
       poisonMessageHandling="Disabled/EnabledIfSupported" 
       queueTransferProtocol="Native/Srmp/SrmpSecure"
       receiveErrorHandling="Drop/Fault/Move/Reject"
       receiveTimeout="TimeSpan" 
       receiveRetryCount="Integer"
       rejectAfterLastRetry="Boolean" 
       retryCycleDelay="TimeSpan"  
       sendTimeout="TimeSpan" 
       timeToLive="TimeSpan"  
       useActiveDirectory="Boolean"
       useMsmqTracing="Boolean
       useSourceJournal="Boolean"
          <security>
                  <message  
                        algorithmSuite="Basic128/Basic192/Basic256/Basic128Rsa15/Basic256Rsa15/TripleDes/TripleDesRsa15/Basic128Sha256/Basic192Sha256/TripleDesSha256/Basic128Sha256Rsa15/Basic192Sha256Rsa15/Basic256Sha256Rsa15/TripleDesSha256Rsa15"
            clientCredentialType="None/Windows/UserName/Certificate/InfoCard "/>
                  <transport msmqAuthenticationMode="None/WindowsDomain/Certificate"
            msmqEncryptionAlgorithm="RC4Stream/AES"
            msmqProtectionLevel="None/Sign/EncryptAndSign"
            msmqSecureHashAlgorithm="MD5/SHA1/SHA256/SHA512" />
          </security>
         <readerQuotas maxDepth="integer" 
               maxStringContentLength="integer"
              maxByteArrayContentLength="integer"
              maxBytesPerRead="integer"
               maxNameTableCharCount="integer" />
</netMsmqBinding>

Attributs et éléments

Attributs

Attribut Description

closeTimeout

TimeSpan qui spécifie l'intervalle de temps prévu pour la réalisation d'une opération de fermeture. Cette valeur doit être supérieure ou égale à Zero. La valeur par défaut est 00:01:00.

customDeadLetterQueue

URI qui contient l'emplacement de la file d'attente de lettres mortes pour chaque application dans laquelle les messages expirés ou dont le transfert ou la remise a échoué sont placés.

La file d'attente de lettres mortes est une file d'attente située dans le gestionnaire de files d'attente de l'application émettrice à destination des messages ayant expiré et dont la remise a échoué.

L'URI spécifié par CustomDeadLetterQueue doit utiliser le schéma net.msmq.

deadLetterQueue

Valeur DeadLetterQueue spécifiant le type de file d'attente de lettres mortes à utiliser (le cas échéant).

Une file d'attente de lettres mortes est l'emplacement d'où les messages de l'application dont la remise a échoué seront transférés.

Pour les messages qui requièrent l'assurance exactlyOnce (autrement dit, l'attribut exactlyOnce a la valeur true), cet attribut a comme valeur par défaut la file d'attente de lettres mortes transactionnelle à l'échelle du système dans MSMQ.

Pour les messages qui ne requièrent pas d'assurances, cet attribut a null comme valeur par défaut.

durable

Valeur booléenne qui indique si le message est fiable ou volatil dans la file d'attente. Un message fiable subsiste lors d'une panne du gestionnaire de files d'attente, alors qu'un message volatil n'est pas conservé. Les messages volatils sont utiles lorsque les applications requièrent la latence inférieure et peuvent autoriser la perte occasionnelle de messages. Si l'attribut exactlyOnce a la valeur true, les messages doivent être fiables. La valeur par défaut est true.

exactlyOnce

Valeur booléenne qui indique si chaque message traité par cette liaison est remis uniquement une fois. L'expéditeur est ensuite notifié des échecs de remise. Lorsque durable a pour valeur false, cet attribut est ignoré et les messages sont transférés sans assurance de remise. La valeur par défaut est true. Pour plus d'informations, consultez ExactlyOnce.

maxBufferPoolSize

Entier qui spécifie la taille maximale du pool de mémoires tampons pour cette liaison. La valeur par défaut est 8.

maxReceivedMessageSize

Entier positif qui définit la taille maximale du message, en octets, y compris les en-têtes, qui est traitée par cette liaison. L'expéditeur d'un message qui dépasse cette limite se verra notifier une erreur SOAP. Le récepteur abandonne le message et crée une entrée d'événement dans le journal de suivi. La valeur par défaut est 65 536. Cette limite de la taille de message a pour objectif de restreindre l'exposition aux attaques par déni de service (DoS).

maxRetryCycles

Entier qui indique le nombre de cycles de tentatives utilisé par la fonctionnalité de détection de messages incohérents. Un message devient un message incohérent lorsque toutes les tentatives de remise de tous les cycles échouent. La valeur par défaut est 3. Pour plus d'informations, consultez MaxRetryCycles.

name

Attribut requis. Chaîne qui contient le nom de configuration de la liaison. Cette valeur doit être unique car elle permet d'identifier la liaison.

openTimeout

TimeSpan qui spécifie l'intervalle de temps prévu pour la réalisation d'une opération d'ouverture. Cette valeur doit être supérieure ou égale à Zero. La valeur par défaut est 00:01:00.

QueueTransferProtocol

Valeur QueueTransferProtocol valide qui spécifie le transport du canal de communication en file d'attente que cette liaison utilise. MSMQ ne prend pas en charge l'adressage Active Directory lors de l'utilisation du protocole SRMP (SOAP Reliable Messaging). Par conséquent, vous ne devez pas affecter la valeur Srmp ou Srmps lorsque l'attribut useActiveDirectory a également la valeur true.

receiveErrorHandling

Valeur ReceiveErrorHandling qui spécifie la façon dont les messages incohérents et ne pouvant être distribués sont gérés.

receiveRetryCount

Entier qui spécifie le nombre maximum de tentatives que le gestionnaire de files d'attente doit effectuer pour envoyer un message avant de le transférer à la file d'attente des nouvelles tentatives.

receiveTimeout

TimeSpan qui spécifie l'intervalle de temps prévu pour la réalisation d'une opération de réception. Cette valeur doit être supérieure ou égale à Zero. La valeur par défaut est 00:10:00.

retryCycleDelay

Valeur TimeSpan qui spécifie l'intervalle entre les cycles de nouvelle tentative de remise d'un message n'ayant pas pu être remis immédiatement. Cette valeur définit uniquement le délai d'attente minimum parce que le temps d'attente réel peut être plus long. La valeur par défaut est 00:10:00. Pour plus d'informations, consultez RetryCycleDelay.

sendTimeout

TimeSpan qui spécifie l'intervalle de temps prévu pour la réalisation d'une opération d'envoi. Cette valeur doit être supérieure ou égale à Zero. La valeur par défaut est 00:01:00.

timeToLive

Valeur TimeSpan qui spécifie la durée de validité des messages avant qu'ils expirent et qu'ils soient mis dans la file d'attente de lettres mortes. La valeur par défaut est 1.00:00:00.

Cet attribut est configuré de façon à garantir que les messages dépendants de l'heure n'expirent pas avant d'être traités par les applications de réception. Un message se trouvant dans une file d'attente qui n'est pas consommé par l'application de réception dans l'intervalle de temps spécifié est considéré comme ayant expiré. Les messages ayant expiré sont envoyés dans une file d'attente spéciale appelée file d'attente de lettres mortes. L'emplacement de la file d'attente de lettres mortes est défini par l'attribut DeadLetterQueue ou par la valeur par défaut appropriée, en fonction des garanties utilisées.

usingActiveDirectory

Valeur booléenne qui spécifie si les adresses mises en file d'attente doivent être converties à l'aide d'Active Directory.

Les adresses de file d'attente MSMQ peuvent se composer de noms de chemin d'accès ou de noms de format direct. Avec un nom de format direct, MSMQ résout le nom de l'ordinateur à l'aide de DNS, NetBIOS ou IP. Avec un nom de chemin d'accès, MSMQ résout le nom de l'ordinateur à l'aide d'Active Directory.

Par défaut, le transport de mise en file d'attente Windows Communication Foundation (WCF) convertit l'URI d'une file d'attente de messages en nom de format direct. En affectant la valeur true à la propriété UseActiveDirectory, une application peut spécifier que le transport de mise en file d'attente doit résoudre le nom de l'ordinateur à l'aide d'Active Directory plutôt qu'à l'aide de DNS, NetBIOS ou IP.

useMsmqTracing

Valeur booléenne qui spécifie si les messages traités par cette liaison doivent être suivis. La valeur par défaut est false. Lorsque le suivi est activé, des messages de rapport sont créés et envoyés à la file d'attente de rapports à chaque fois que le message quitte ou atteint un ordinateur Message Queuing.

useSourceJournal

Valeur booléenne qui spécifie si les copies de messages traitées par cette liaison doivent être stockées dans le journal source. La valeur par défaut est false.

Les applications en file d'attente souhaitant conserver une trace des messages qui ont quitté la file d'attente sortante de l'ordinateur peuvent copier les messages dans une file d'attente de journal. Une fois qu'un message quitte la file d'attente sortante et qu'un accusé de réception est envoyé par l'ordinateur de destination, une copie du message est conservée dans la file d'attente du journal système de l'ordinateur émetteur.

Éléments enfants

Élément Description

<readerQuotas>

Définit les contraintes de 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.

<security> de <netMsmqBinding>

Définit les paramètres de sécurité de la liaison. Cet élément est de type NetMsmqSecurityElement.

Éléments parents

Élément Description

<bindings>

Cet élément conserve une collection de liaisons standard et personnalisées. Chaque entrée est identifiée par son name. Les services utilisent les liaisons en les liant à l'aide du name.

Notes

La liaison netMsmqBinding fournit la prise en charge de la mise en file d'attente en utilisant MSMQ (Microsoft Message Queuing) comme transport et active la prise en charge des applications faiblement couplées, de l'isolation de défaillance, du nivellement de charge et des opérations hors circuit. Pour en savoir plus sur ces fonctionnalités, consultez Queues in WCF.

Exemple

<configuration>
<system.ServiceModel>
    <bindings>
           <netMsmqBinding>
                <binding name="test"
                         closeTimeout="00:00:10" 
                         openTimeout="00:00:20" 
                         receiveTimeout="00:00:30"
                         sendTimeout="00:00:40"
                         deadLetterQueue="net.msmq://localhost/blah" 
                         durable="true" 
                         exactlyOnce="true" 
                         maxMessageSize="1000"
                         maxRetries="11"
                         maxRetryCycles="12" 
                         poisonMessageHandling="Disabled" 
                         rejectAfterLastRetry="false" 
                         retryCycleDelay="00:05:55" 
                         timeToLive="00:11:11" 
                         sourceJournal="true"
                         useMsmqTracing="true"
                         useActiveDirectory="true">
                         <security>
                             <message clientCredentialType="Windows" />
                         </security>
            </netMsmqBinding>
    </bindings>
</system.ServiceModel>
</configuration>

Voir aussi

Référence

NetMsmqBinding
NetMsmqBindingElement

Concepts

<binding>

Autres ressources

Windows Communication Foundation Bindings
Configuring System-Provided Bindings
Using Bindings to Configure Services and Clients
Queues in WCF