DeliveryFailure Enumeração
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
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.