DeliveryFailure Enumeração

Definição

Especifica os possíveis tipos 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

Name Valor Description
Unknown 0

Ocorreu um erro desconhecido.

BadDestinationQueue 32768

A fila de destino não foi encontrada.

Purged 32769

A mensagem foi apagada antes de chegar à fila de destino.

ReachQueueTimeout 32770

A mensagem não chegou à fila de destino antes de expirar.

QueueExceedMaximumSize 32771

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

AccessDenied 32772

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

HopCountExceeded 32773

A contagem de salto de mensagens foi ultrapassada, o que indica o número de servidores intermédios.

BadSignature 32774

O gestor da fila de destino não pode autenticar a mensagem porque a assinatura associada é inválida.

BadEncryption 32775

O gestor da fila de destino não pode desencriptar a mensagem.

CouldNotEncrypt 32776

O gestor de fila de origem não pode encriptar a mensagem.

NotTransactionalQueue 32777

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

NotTransactionalMessage 32778

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

QueueDeleted 49152

A fila de destino era eliminada antes de a mensagem poder ser entregue à aplicação.

QueuePurged 49153

A fila foi eliminada e a mensagem deixou de existir.

ReceiveTimeout 49154

A mensagem não foi entregue à candidatura a tempo.

Exemplos

O exemplo abaixo mostra como aceder a uma DeliveryFailure 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

Observações

Podes pedir à DeliveryFailure propriedade para determinar porque é que uma mensagem falhou na entrega e foi enviada para a fila de letras mortas. Para informações adicionais sobre o processamento de mensagens numa fila de letras mortas, veja Usar Dead-Letter Filas para Lidar com Falhas de Transferência de Mensagens.

Aplica-se a

Ver também