<netMsmqBinding>
Définit une liaison mise en file d'attente adaptée à la communication entre ordinateurs.
Hiérarchie de schéma
<system.serviceModel>
<bindings>
<netMsmqBinding>
Syntaxe
<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 maxArrayLength="Integer" maxBytesPerRead="Integer" maxDepth="Integer" maxNameTableCharCount="Integer" maxStringContentLength="Integer" /> </binding></netMsmqBinding>
Attributs et éléments
Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.
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 plus faible 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 65536. Cette limite de taille des messages a pour but d'atténuer 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. Depuis .NET Framework 4, les liaisons et les comportements ne sont pas obligés d'avoir un nom. Pour plus d'informations sur la configuration par défaut, ainsi que sur les comportements et les liaisons sans nom, consultez Simplified Configuration et Simplified Configuration for WCF Services. |
openTimeout |
Valeur 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 |
---|---|
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. |
|
Définit les paramètres de sécurité de la liaison. Cet élément est de type NetMsmqSecurityElement. |
Éléments parents
Élément | Description |
---|---|
Cet élément conserve une collection de liaisons standard et personnalisées. |
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
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"
maxReceivedMessageSize="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
Autres ressources
Windows Communication Foundation Bindings
Configuring System-Provided Bindings
Using Bindings to Configure Services and Clients
Queues in WCF