<<msmqIntegrationBinding>>
Define un enlace que proporciona la compatibilidad de uso de colas enrutando los mensajes a través de MSMQ.
Jerarquía del esquema
<<system.serviceModel>>
<enlaces>
<<msmqIntegrationBinding>>
Sintaxis
<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>
Atributos y elementos
En las siguientes secciones se describen atributos, elementos secundarios y elementos primarios
Atributos
Atributo | Descripción |
---|---|
closeTimeout |
Un valor TimeSpan que especifica el intervalo de tiempo del que dispone una operación de cierre para completarse. Este valor debe ser mayor o igual que Zero. El valor predeterminado es 00:01:00. |
customDeadLetterQueue |
Un URI que contiene la ubicación de la cola de componentes con problemas de entrega por aplicación, donde se colocan los mensajes que han expirado o cuya transferencia o envío han fallado. La cola de componentes con problemas de entrega es una cola en el administrador de colas de la aplicación de envío para los mensajes caducados que no se hayan entregado. El URI que es especificado por CustomDeadLetterQueue debe utilizar el esquema de net.msmq. |
deadLetterQueue |
DeadLetterQueue. Valor que especifica qué tipo de cola de componentes con problemas de entrega hay que usar, si hay alguna. La cola de componentes con problemas de entrega es la ubicación a la que se transfieren los mensajes que no han podido ser entregados a la aplicación. Para los mensajes que requieren la convicción exactlyOnce (por ejemplo, el atributo exactlyOnce está establecido en true), este atributo tiene como valor predeterminado la cola de mensajes transaccionales no enviados para todo el sistema en MSMQ. Para los mensajes que no requieren convicciones, este atributo tiene como valor predeterminado null. |
durable |
Valor de tipo booleano que indica si el mensaje es duradero o volátil en la cola. Un mensaje duradero sobrevive un bloqueo de administrador de cola, mientras que un mensaje volátil no. Los mensajes volátiles son útiles cuando las aplicaciones requieren la menor latencia y toleran la pérdida de mensajes ocasional. Si el atributo exactlyOnce está establecido en true, los mensajes deben ser duraderos. El valor predeterminado es true. |
exactlyOnce |
Valor de tipo booleano que indica si cada mensaje se entrega sólo una vez. Se notificará al remitente a continuación de los errores de la entrega. Cuando durable es false, se omite este atributo y los mensajes se transfieren sin convicción de la entrega. El valor predeterminado es true. Para obtener más información, vea ExactlyOnce. |
maxReceivedMessageSize |
Un entero positivo que define el tamaño del mensaje máximo, en bytes, incluyendo encabezados, que está procesado por este enlace. El remitente de un mensaje que supere este límite recibirá un error SOAP. El receptor quita el mensaje y crea una entrada del evento en el registro de seguimiento. El valor predeterminado es 65536. Este límite en el tamaño del mensaje tiene como objetivo limitar la exposición a ataques de denegación de servicio (DoS). |
maxRetryCycles |
Un entero que indica el número de ciclos de reintento utilizado por la característica de detección de mensaje dudoso. Un mensaje se vuelve un mensaje dudoso cuando produce un error en todos los intentos de entrega de todos los ciclos. El valor predeterminado es 2. Para obtener más información, vea MaxRetryCycles. |
name |
Cadena que contiene el nombre de la configuración del enlace. Este valor debe ser único porque se usa como identificación del enlace. A partir de .NET Framework 4, no es necesario que los enlaces y los comportamientos tengan nombre. Para obtener más información sobre la configuración predeterminada, así como sobre enlaces y comportamientos sin nombre, vea Simplified Configuration y Simplified Configuration for WCF Services. |
openTimeout |
Valor de la estructura TimeSpan que especifica el intervalo de tiempo del que dispone una operación de apertura para completarse. Este valor debe ser mayor o igual que Zero. El valor predeterminado es 00:01:00. |
receiveErrorHandling |
Un valor ReceiveErrorHandling que especifica cómo se administran mensajes dudosos y que no se pueden enviar. |
receiveRetryCount |
Un entero que especifica el número máximo de intentos inmediatos que el administrador de cola debería intentar si se produce un error en la transmisión de un mensaje de la cola de aplicación a la aplicación. Si se alcanza el número máximo de intentos de entrega y la aplicación no tiene acceso al mensaje, a continuación, el mensaje se envía a una cola de reintento para intentar la entrega más tarde. La duración antes de que el mensaje se transfiera de vuelta a la cola emisora es controlada por retryCycleDelay. Si los ciclos de reintento alcanzan el valor maxRetryCycles, entonces el mensaje se envía a la cola de mensajes dudosos o un reconocimiento negativo se envía al remitente. |
receiveTimeout |
Un valor TimeSpan que especifica el intervalo de tiempo del que dispone una operación de recepción para completarse. Este valor debe ser mayor o igual que Zero. El valor predeterminado es 00:10:00. |
receiveContextEnabled |
Valor de tipo booleano que especifica si está habilitado el contexto de recepción para procesar los mensajes en colas. Cuando se establece en true, un servicio puede “inspeccionar” un mensaje en la cola para empezar a procesarlo y, si algo sale mal y se produce una excepción, permanece en la cola. Los servicios también pueden “bloquear” los mensajes para reintentar su procesamiento en un momento posterior. ReceiveContext proporciona un mecanismo para "completar" el mensaje una vez procesado de modo que se pueda quitar de la cola. Los mensajes ya no se leen ni se reescriben a través de la red y los mensajes individuales no se devuelven a través de distintas instancias de servicio durante el procesamiento. |
retryCycleDelay |
Un valor TimeSpan que especifica el tiempo de retardo entre los ciclos de reintento al intentar entregar un mensaje que no se pudo entregar inmediatamente. El valor define sólo el tiempo de espera mínimo porque el tiempo de espera real puede ser más largo. El valor predeterminado es 00:30:00. Para obtener más información, vea RetryCycleDelay. |
sendTimeout |
Un valor TimeSpan que especifica el intervalo de tiempo del que dispone una operación de envío para completarse. Este valor debe ser mayor o igual que Zero. El valor predeterminado es 00:01:00. |
serializationFormat |
Define el formato usado para la serialización del cuerpo del mensaje. Este atributo es del tipo MsmqMessageSerializationFormat. |
timeToLive |
Un valor TimeSpan que especifica cuánto tiempo son válidos los mensajes antes de expirar y ser colocados en la cola de mensajes no enviados. El valor predeterminado es 1.00:00:00. Este atributo se establece para asegurarse de que los mensajes que dependen del tiempo no se vuelvan obsoletos antes de ser procesados por las aplicaciones receptoras. Un mensaje en una cola expira si no es consumido por la aplicación receptora dentro del intervalo de tiempo especificado. Los mensajes caducados se envían a la cola especial llamada cola de mensajes no enviados. La ubicación de la cola de mensajes no enviados se establece con el atributo DeadLetterQueue o con el valor predeterminado adecuado, basado en garantías. |
useMsmqTracing |
Valor de tipo booleano que especifica si los mensajes procesados por este enlace se deberían seguir paso a paso. El valor predeterminado es false. Si se habilita la traza, los mensajes de informe se crean y envían a la cola de informes cada vez que el mensaje sale o llega a un equipo Message Queuing. |
useSourceJournal |
Valor de tipo booleano que especifica las copias de mensajes procesadas por este enlace debería estar almacenado en el diario de origen. El valor predeterminado es false. Las aplicaciones en cola que quieran mantener un registro de mensajes que han dejado la cola de salida del equipo pueden copiar los mensajes a una cola del diario. Cuando un mensaje deja la cola de salida y se recibe un reconocimiento de que el mensaje se ha recibido en el equipo de destino, una copia del mensaje se mantiene en la cola de diario de sistema del equipo remitente. |
Elementos secundarios
Elemento | Descripción |
---|---|
Define la configuración de seguridad del enlace. Este elemento es del tipo MsmqIntegrationSecurityElement. |
Elementos primarios
Elemento | Descripción |
---|---|
Este elemento contiene una colección de enlaces estándar y personalizados. |
Notas
Este elemento de enlace se puede usar para habilitar aplicaciones Windows Communication Foundation (WCF) para enviar mensajes a aplicaciones MSMQ existentes y recibirlos de estas aplicaciones que usan COM, API nativas de MSMQ o los tipos definidos en el espacio de nombres ( Default Namespace )System.Messaging. Puede usar este elemento de configuración para especificar cómo direccionar la cola, cómo especificar garantías de transferencia, si los mensajes se deben almacenar de forma duradera y cómo se deben proteger y autenticar los mensajes. Para obtener más información, vea How to: Exchange Messages with WCF Endpoints and Message Queuing Applications.
Ejemplo
<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>
Vea también
Referencia
MsmqIntegrationBindingElement
MsmqIntegrationBinding
MsmqIntegrationBindingElement
Conceptos
Otros recursos
Windows Communication Foundation Bindings
Configuring System-Provided Bindings
Using Bindings to Configure Services and Clients
Queues in WCF