Udostępnij za pośrednictwem


DeliveryFailure Wyliczenie

Definicja

Określa możliwe typy niepowodzeń dostarczania dla komunikatu odczytanego z kolejki.

public enum class DeliveryFailure
public enum DeliveryFailure
type DeliveryFailure = 
Public Enum DeliveryFailure
Dziedziczenie
DeliveryFailure

Pola

AccessDenied 32772

Nadawca nie ma praw dostępu do umieszczania komunikatów w kolejce docelowej.

BadDestinationQueue 32768

Nie można odnaleźć kolejki docelowej.

BadEncryption 32775

Menedżer kolejek docelowych nie może odszyfrować komunikatu.

BadSignature 32774

Menedżer kolejek docelowych nie może uwierzytelnić komunikatu, ponieważ dołączony podpis jest nieprawidłowy.

CouldNotEncrypt 32776

Menedżer kolejki źródłowej nie może zaszyfrować komunikatu.

HopCountExceeded 32773

Liczba przeskoków komunikatów została przekroczona, co wskazuje liczbę serwerów pośrednich.

NotTransactionalMessage 32778

Komunikat nietransakcyjny został wysłany do kolejki transakcyjnej.

NotTransactionalQueue 32777

Komunikat transakcyjny został wysłany do kolejki nietransakcyjnej.

Purged 32769

Komunikat został przeczyszowany przed dotarciem do kolejki docelowej.

QueueDeleted 49152

Kolejka docelowa została usunięta przed dostarczeniem komunikatu do aplikacji.

QueueExceedMaximumSize 32771

Komunikat nie został dostarczony, ponieważ kolejka docelowa jest pełna.

QueuePurged 49153

Kolejka została przeczyszczone, a komunikat już nie istnieje.

ReachQueueTimeout 32770

Komunikat nie dotarł do kolejki docelowej przed upłynął limit czasu.

ReceiveTimeout 49154

Komunikat nie został dostarczony do aplikacji na czas.

Unknown 0

Wystąpił nieznany błąd.

Przykłady

W poniższym przykładzie pokazano, jak uzyskać dostęp do DeliveryFailure komunikatu w ramach operacji usługi.

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

Uwagi

Właściwość można uzyskać, DeliveryFailure aby określić, dlaczego dostarczanie komunikatu nie powiodło się i zostało wysłane do kolejki utraconych wiadomości. Aby uzyskać dodatkowe informacje na temat przetwarzania komunikatów w kolejce utraconych wiadomości, zobacz Using Dead-Letter Queues to Handle Message Transfer Failures (Używanie kolejek Dead-Letter do obsługi błędów transferu komunikatów).

Dotyczy

Zobacz też