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.
Définit une liaison qui fournit la prise en charge de la mise en file d’attente en acheminant les messages via MSMQ.
<Configuration>
<system.serviceModel>
<Liaisons>
<customBinding>
<reliure>
<msmqIntegrationBinding>
Syntaxe
<msmqIntegrationBinding>
<binding closeTimeout="TimeSpan"
customDeadLetterQueue="Uri"
deadLetterQueue="Uri"
durable="Boolean"
exactlyOnce="Boolean"
maxReceivedMessageSize="Integer"
maxRetryCycles="Integer"
name="String"
openTimeout="TimeSpan"
receiveContextEnabled="Boolean"
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
Les sections suivantes décrivent les attributs, les éléments enfants et les é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. |
| customDeadLetterQueue | URI qui contient l’emplacement de la file d’attente de lettres mortes par application, où les messages ayant expiré ou ayant échoué le transfert ou la remise sont placés. La file d’attente de lettres mortes est une file d’attente sur le gestionnaire de files d’attente de l’application d’envoi des messages expirés qui n’ont pas pu être remis. L’URI spécifié par CustomDeadLetterQueue doit utiliser le schéma net.msmq. |
| deadLetterQueue | Valeur DeadLetterQueue.value 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 où les messages qui n’ont pas pu être remis à l’application seront transférés. Pour les messages qui nécessitent une assurance exacteMentOnce (c’est-à-dire que l’attribut exactlyOnce est défini truesur ), cet attribut est défini par défaut sur la file d’attente de lettres mortes transactionnelles à l’échelle du système dans MSMQ.Pour les messages qui ne nécessitent aucune garantie, cet attribut est défini par défaut nullsur . |
| durable | Valeur booléenne qui indique si le message est durable ou volatile dans la file d’attente. Un message durable survive à un plantage du gestionnaire de files d’attente, tandis qu’un message volatile ne le fait pas. Les messages volatiles sont utiles lorsque les applications nécessitent une latence plus faible et peuvent tolérer des messages perdus occasionnels. Si l’attribut exactlyOnce est défini truesur , les messages doivent être durables. La valeur par défaut est true. |
| exactOnce | Valeur booléenne qui indique si chaque message n’est remis qu’une seule fois. L’expéditeur sera alors averti des échecs de remise. Quand durable c’est falsele cas, 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. |
| maxReceivedMessageSize | Entier positif qui définit la taille maximale du message, en octets, y compris les en-têtes, qui est traité par 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. Cette limite de taille de message est destinée à limiter l’exposition aux attaques par déni de service (DoS). |
| maxRetryCycles | Entier qui indique le nombre de cycles de nouvelle tentative utilisés par la fonctionnalité de détection de messages incohérents. Un message devient un message incohérent lorsqu’il échoue toutes les tentatives de remise de tous les cycles. La valeur par défaut est 2. Pour plus d’informations, consultez MaxRetryCycles. |
| nom | 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. |
| receiveErrorHandling | Valeur ReceiveErrorHandling qui spécifie la façon dont les messages incohérents et nonmodchables sont gérés. |
| receiveRetryCount | Entier qui spécifie le nombre maximal de nouvelles tentatives immédiates que le gestionnaire de files d’attente doit tenter si la transmission d’un message de la file d’attente de l’application à l’application échoue. Si le nombre maximal de tentatives de remise est atteint et que le message n’est pas accessible par l’application, le message est envoyé à une file d’attente de nouvelles tentatives pour redelivery ultérieurement. La durée avant le transfert du message vers la file d’attente d’envoi est contrôlée par retryCycleDelay. Si les cycles de nouvelle tentative atteignent la maxRetryCycles valeur, le message est envoyé à la file d’attente de messages incohérents ou un accusé de réception négatif est renvoyé à l’expéditeur. |
| 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. |
| receiveContextEnabled | Valeur booléenne qui spécifie si le contexte de réception pour le traitement des messages dans les files d’attente est activé. Lorsque cette valeur est définie true, un service peut « afficher un aperçu » d’un message sur la file d’attente pour commencer à le traiter, et, si quelque chose se produit mal et qu’une exception est levée, elle reste dans la file d’attente. Les services peuvent également « verrouiller » les messages afin de réessayer de traiter ultérieurement. ReceiveContext fournit un mécanisme permettant de « terminer » le message une fois traité afin qu’il puisse être supprimé de la file d’attente. Les messages ne sont plus lus et réécrits dans des files d’attente sur le réseau, et les messages individuels ne sont pas bouncés entre différentes instances de service pendant le traitement. |
| retryCycleDelay | Valeur TimeSpan qui spécifie le délai entre les cycles de nouvelle tentative lors de la tentative de remise d’un message qui n’a pas pu être remis immédiatement. La valeur définit uniquement le temps d’attente minimal, 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 | 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. |
| 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 pendant laquelle les messages sont valides avant leur expiration et placés dans la file d’attente de lettres mortes. La valeur par défaut est 1.00:00:00. Cet attribut est défini pour s’assurer que les messages sensibles au temps ne deviennent pas obsolètes avant qu’ils ne soient traités par les applications de réception. Un message dans une file d’attente qui n’est pas consommée par l’application de réception dans l’intervalle de temps spécifié est dit expiré. Les messages expirés sont envoyés à 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 avec l’attribut DeadLetterQueue ou la valeur par défaut appropriée, en fonction des assurances. |
| 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é, les messages de rapport sont créés et envoyés à la file d’attente du rapport chaque fois que le message quitte ou arrive à un ordinateur Message Queuing. |
| useSourceJournal | Valeur booléenne qui spécifie les copies des messages traités par cette liaison doit être stockée dans le journal source. La valeur par défaut est false.Les applications en file d’attente qui souhaitent conserver un enregistrement 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 reçu sur l’ordinateur de destination, une copie du message est conservée dans la file d’attente du journal système de l’ordinateur d’envoi. |
{serializationFormat} Attribut
| Valeur | Descriptif |
|---|---|
| Xml | Format XML |
| Binary | Format binaire |
| ActiveX | Format ActiveX |
| ByteArray | Sérialise l’objet dans un tableau d’octets. |
| Streaming | Corps mis en forme en tant que flux |
É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 MsmqIntegrationSecurityElement. |
Éléments parents
| Élément | Descriptif |
|---|---|
| <Liaisons> | Cet élément contient une collection de liaisons standard et personnalisées. |
Remarques
Cet élément de liaison peut être utilisé pour permettre aux applications Windows Communication Foundation (WCF) d’envoyer et de recevoir des messages à partir d’applications MSMQ existantes qui utilisent des API NATIVEs COM, MSMQ ou les types définis dans l’espace System.Messaging de noms, vous pouvez utiliser cet élément de configuration pour spécifier des moyens d’adresser la file d’attente, de transférer des garanties, si les messages doivent être stockés durablement, et comment les messages doivent être protégés et authentifiés. Pour plus d’informations, consultez Guide pratique pour échanger des messages avec des points de terminaison WCF et des applications Message Queuing.
Example
<configuration>
<system.ServiceModel>
<bindings>
<msmqIntegrationBinding>
<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"
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>