Comparteix a través de


DeliveryFailure Enumeración

Definición

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
DeliveryFailure

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.

Se aplica a

Consulte también