DeliveryFailure Wyliczenie
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
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).