Compartilhar via


DeliveryFailure Enumeração

Definição

Especifica os tipos possíveis de falha de entrega para uma mensagem lida da fila.

public enum class DeliveryFailure
public enum DeliveryFailure
type DeliveryFailure = 
Public Enum DeliveryFailure
Herança
DeliveryFailure

Campos

AccessDenied 32772

O remetente não tem direitos de acesso para colocar mensagens na fila de destino.

BadDestinationQueue 32768

A fila de destino não foi encontrada.

BadEncryption 32775

O gerenciador de fila de destino não é capaz de descriptografar a mensagem.

BadSignature 32774

O gerenciador de fila de destino não pode autenticar a mensagem porque a assinatura anexada é inválida.

CouldNotEncrypt 32776

O gerenciador de fila de origem não é capaz de criptografar a mensagem.

HopCountExceeded 32773

A contagem de saltos da mensagem foi excedida, o que indica o número de servidores intermediários.

NotTransactionalMessage 32778

Uma mensagem não transacional foi enviada para uma fila transacional.

NotTransactionalQueue 32777

Uma mensagem transacional foi enviada para uma fila não transacional.

Purged 32769

A mensagem foi limpa antes de alcançar a fila de destino.

QueueDeleted 49152

A fila de destino foi excluída antes da mensagem poder ser entregue ao aplicativo.

QueueExceedMaximumSize 32771

A mensagem não foi entregue porque a fila de destino está cheia.

QueuePurged 49153

A fila foi removida e a mensagem não existe mais.

ReachQueueTimeout 32770

A mensagem não alcançou a fila de destino antes de atingir o tempo limite.

ReceiveTimeout 49154

A mensagem não foi entregue em tempo ao aplicativo.

Unknown 0

Erro desconhecido.

Exemplos

O exemplo a seguir mostra como acessar o DeliveryFailure de uma mensagem dentro de uma operação de serviço.

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

Comentários

Você pode obter a DeliveryFailure propriedade para determinar por que uma mensagem falhou na entrega e foi enviada para a fila de mensagens mortas. Para obter informações adicionais sobre o processamento de mensagens em uma fila de mensagens mortas, consulte Usando filas de Dead-Letter para lidar com falhas de transferência de mensagens.

Aplica-se a

Confira também