Share via


<msmqIntegrationBinding>

Définit une liaison qui prend en charge la mise en file d'attente par routage des messages via MSMQ.

<system.serviceModel>
  <bindings>
    <msmqIntegrationBinding>

<msmqIntegrationBinding>
   <binding 
       closeTimeout="TimeSpan" 
       customDeadLetterQueue="Uri"
       deadLetterQueue="Uri"
       durable="Boolean"
       exactlyOnce="Boolean" 
       maxReceivedMessageSize"Integer"
       maxRetryCycles="Integer" 
              name="string" 
       openTimeout="TimeSpan" 
       receiveErrorHandling="Drop/Fault/Move/Reject"
       receiveTimeout="TimeSpan" 
              receiveRetryCount="Integer"
       retryCycleDelay="TimeSpan"  
       sendTimeout="TimeSpan" 
       serializationFormat="XML/Binary/ActiveX/ByteArray/Stream">
       timeToLive="TimeSpan"  
       useMsmqTracing="Boolean
              useSourceJournal="Boolean"
   </binding>
</msmqIntegrationBinding> 

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 contenant l'emplacement de la file d'attente de lettres mortes pour chaque application et dans laquelle sont placés les messages ayant expiré ou dont le transfert ou la remise a échoué.

La file d'attente de lettres mortes est une file d'attente du gestionnaire de files d'attente de l'application émettrice pour les 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 correspond à l'emplacement dans lequel sont transférés les messages dont la remise à l'application a échoué.

Pour les messages qui requièrent la garantie exactlyOnce (ceux pour lesquels 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 de garanties, cet attribut a null comme valeur par défaut.

fiable

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 indiquant si chaque message est remis une seule 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 garantie de remise. La valeur par défaut est true. Pour plus d'informations, consultez ExactlyOnce.

maxReceivedMessageSize

Entier positif qui définit la taille maximale du message (en octets, en-têtes compris), qui est traité 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 au déni de service (DoS, Denial of Service).

maxRetryCycles

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

name

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.

receiveErrorHandling

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

receiveRetryCount

Entier indiquant le nombre maximal de nouvelles tentatives immédiates devant être effectuées par le gestionnaire de files d'attente si la transmission d'un message entre la file d'attente de l'application et l'application échoue.

Si le nombre maximal de tentatives de remise est atteint sans que l'application accède au message, ce dernier est envoyé à une file d'attente de nouvelles tentatives. La durée qui s'écoule avant que le message ne soit renvoyé à la file d'attente émettrice est contrôlée par retryCycleDelay. Si les cycles de nouvelles tentatives atteignent la valeur maxRetryCycles, soit le message est envoyé à la file d'attente de messages incohérents, soit un accusé de réception négatif est renvoyé à l'expéditeur.

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 nouvelles tentatives de remise d'un message n'ayant pas pu être remis immédiatement. Cette valeur définit uniquement le délai d'attente minimum, car le temps d'attente réel peut être plus long. La valeur par défaut est 00:30: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.

serializationFormat

Définit le format utilisé pour la sérialisation du corps du message. Cet attribut est de type MsmqMessageSerializationFormat.

timeToLive

Valeur TimeSpan qui spécifie la durée de validité des messages avant leur expiration et leur déplacement 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 cette file d'attente est défini par l'attribut DeadLetterQueue ou par la valeur par défaut appropriée, en fonction des garanties utilisées.

useMsmqTracing

Valeur booléenne indiquant 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é indique sa réception sur l'ordinateur de destination, une copie du message est conservée dans la file d'attente du journal de l'ordinateur émetteur.

Éléments enfants

Élément Description

<security> de <msmqIntegrationBinding>

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

É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 de name.

Notes

Cet élément de liaison peut être utilisé pour permettre aux applications Windows Communication Foundation (WCF) d'envoyer des messages aux applications MSMQ existantes et de recevoir des messages de ces applications qui utilisent des API natives COM, MSMQ ou les types définis dans l'espace de noms ( Default Namespace )System.Messaging. Vous pouvez utiliser cet élément de configuration pour indiquer des façons de définir l'adressage de la file d'attente, le transfert des garanties, si les messages doivent être stockés de façon fiable et s'ils doivent être protégés et authentifiés. Pour plus d'informations, consultez How to: Exchange Messages with WCF Endpoints and Message Queuing Applications.

Exemple

<configuration>
<system.ServiceModel>
    <bindings>
       <msmqIntegrationBinding>
           <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" 
                    maxReceivedMessageSize="1000" 
                    maxImmediateRetries="11" 
                    maxRetryCycles="12"
                    poisonMessageHandling="Disabled" 
                    rejectAfterLastRetry="false" 
                    retryCycleDelay="00:05:55" 
                    timeToLive="00:11:11" 
                    useSourceJournal="true" 
                    useMsmqTracing="true" 
                    serializationFormat="Binary">
                    <security mode="None" />
           </binding>
       </msmqIntegrationBinding
   </bindings>
</system.ServiceModel>
</configuration>

Voir aussi

Référence

MsmqIntegrationBindingElement
MsmqIntegrationBinding
MsmqIntegrationBindingElement

Concepts

<binding>

Autres ressources

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