DeliveryFailure Enumeración
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica los posibles tipos de error en la entrega de un mensaje leído de la cola.
public enum class DeliveryFailure
public enum DeliveryFailure
type DeliveryFailure =
Public Enum DeliveryFailure
- Herencia
Campos
AccessDenied | 32772 | El remitente no tiene derechos de acceso para colocar los mensajes en la cola de destino. |
BadDestinationQueue | 32768 | No se ha encontrado la cola de destino. |
BadEncryption | 32775 | El administrador de la cola de destino no puede descifrar el mensaje. |
BadSignature | 32774 | El administrador de la cola de destino no puede autenticar el mensaje porque la firma asociada no es válida. |
CouldNotEncrypt | 32776 | El administrador de cola de origen no puede cifrar el mensaje. |
HopCountExceeded | 32773 | Se ha superado el número de saltos del mensaje, lo que indica el número de servidores intermedios. |
NotTransactionalMessage | 32778 | Un mensaje no transaccional se ha enviado a una cola transaccional. |
NotTransactionalQueue | 32777 | Un mensaje transaccional se ha enviado a una cola no transaccional. |
Purged | 32769 | El mensaje se purgó antes de alcanzar la cola de destino. |
QueueDeleted | 49152 | Se eliminó la cola de destino antes de que el mensaje se pudiera entregar a la aplicación. |
QueueExceedMaximumSize | 32771 | No se ha entregado el mensaje porque la cola de destino está completa. |
QueuePurged | 49153 | Se purgó la cola y el mensaje ya no existe. |
ReachQueueTimeout | 32770 | El mensaje no alcanzó la cola de destino antes de expirar. |
ReceiveTimeout | 49154 | El mensaje no se entregó a tiempo a la aplicación. |
Unknown | 0 | Se ha producido un error desconocido. |
Ejemplos
El ejemplo siguiente muestra cómo tener acceso a DeliveryFailure de un mensaje dentro de una operación del servicio.
public void SimpleSubmitPurchaseOrder(PurchaseOrder po)
{
Console.WriteLine("Submitting purchase order did not succeed ", po);
MsmqMessageProperty mqProp = OperationContext.Current.IncomingMessageProperties[MsmqMessageProperty.Name] as MsmqMessageProperty;
Console.WriteLine("Message Delivery Status: {0} ", mqProp.DeliveryStatus);
Console.WriteLine("Message Delivery Failure: {0}", mqProp.DeliveryFailure);
Console.WriteLine();
}
<OperationBehavior(TransactionScopeRequired := True, TransactionAutoComplete := True)> _
Public Sub SimpleSubmitPurchaseOrder(ByVal po As PurchaseOrder)
Console.WriteLine("Submitting purchase order did not succeed ", po)
Dim mqProp As MsmqMessageProperty = TryCast(OperationContext.Current.IncomingMessageProperties(MsmqMessageProperty.Name), MsmqMessageProperty)
Console.WriteLine("Message Delivery Status: {0} ", mqProp.DeliveryStatus)
Console.WriteLine("Message Delivery Failure: {0}", mqProp.DeliveryFailure)
Console.WriteLine()
End Sub
Comentarios
Puede obtener la propiedad DeliveryFailure para determinar por qué no se ha podido entregar un mensaje y se ha enviado a la cola de mensajes no enviados. Para obtener más información sobre el procesamiento de mensajes en una cola de mensajes fallidos, consulte Uso de Dead-Letter colas para controlar errores de transferencia de mensajes.