DeliveryFailure Enumeration
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt die möglichen Typen der Zustellfehler für eine Nachricht an, die aus der Warteschlange gelesen wird.
public enum class DeliveryFailure
public enum DeliveryFailure
type DeliveryFailure =
Public Enum DeliveryFailure
- Vererbung
Felder
AccessDenied | 32772 | Der Absender hat keine Zugriffsrechte auf das Platzieren von Nachrichten in der Zielwarteschlange. |
BadDestinationQueue | 32768 | Die Zielwarteschlange wurde nicht gefunden. |
BadEncryption | 32775 | Der Zielwarteschlangen-Manager kann die Nachricht nicht entschlüsseln. |
BadSignature | 32774 | Der Zielwarteschlangen-Manager kann die Nachricht nicht authentifizieren, da die angehängte Signatur ungültig ist. |
CouldNotEncrypt | 32776 | Der Quellwarteschlangen-Manager kann die Meldung nicht verschlüsseln. |
HopCountExceeded | 32773 | Die Nachrichten-Hop-Anzahl, die die Anzahl von zwischengeschalteten Servern angibt, wurde überstiegen. |
NotTransactionalMessage | 32778 | Eine nicht transaktionale Nachricht wurde an eine transaktionale Warteschlange gesendet. |
NotTransactionalQueue | 32777 | Eine transaktionale Nachricht wurde an eine nicht transaktionale Warteschlange gesendet. |
Purged | 32769 | Die Nachricht wurde vor dem Erreichen der Zielwarteschlange gelöscht. |
QueueDeleted | 49152 | Die Zielwarteschlange wurde gelöscht, bevor die Nachricht der Anwendung zugestellt werden konnte. |
QueueExceedMaximumSize | 32771 | Die Nachricht wurde nicht zugestellt, da die Zielwarteschlange voll ist. |
QueuePurged | 49153 | Die Warteschlange wurde gelöscht, und die Nachricht ist nicht mehr vorhanden. |
ReachQueueTimeout | 32770 | Die Nachricht hat die Zielwarteschlange vor dem Timeout nicht erreicht. |
ReceiveTimeout | 49154 | Die Nachricht wurde nicht pünktlich zur Anwendung zugestellt. |
Unknown | 0 | Es ist ein unbekannter Fehler aufgetreten. |
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie auf den DeliveryFailure einer Nachricht innerhalb eines Dienstvorgangs zugegriffen wird.
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
Hinweise
Sie können die DeliveryFailure-Eigenschaft abrufen, um zu bestimmen, warum die Zustellung einer Nachricht fehlgeschlagen ist und an die Warteschlange für unzustellbare Nachrichten gesendet wurde. Weitere Informationen zur Nachrichtenverarbeitung in einer Warteschlange für unzustellbare Nachrichten finden Sie unter Verwenden von Dead-Letter Warteschlangen zum Behandeln von Nachrichtenübertragungsfehlern.