DeliveryFailure Výčet
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Určuje možné typy selhání doručení pro zprávu přečtenou z fronty.
public enum class DeliveryFailure
public enum DeliveryFailure
type DeliveryFailure =
Public Enum DeliveryFailure
- Dědičnost
Pole
| Name | Hodnota | Description |
|---|---|---|
| Unknown | 0 | Došlo k neznámé chybě. |
| BadDestinationQueue | 32768 | Cílová fronta nebyla nalezena. |
| Purged | 32769 | Zpráva byla před dosažením cílové fronty vyprázdněna. |
| ReachQueueTimeout | 32770 | Zpráva se před uplynutím časového limitu nedosahovala cílové fronty. |
| QueueExceedMaximumSize | 32771 | Zpráva nebyla doručena, protože cílová fronta je plná. |
| AccessDenied | 32772 | Odesílatel nemá přístupová práva k umístění zpráv do cílové fronty. |
| HopCountExceeded | 32773 | Byl překročen počet segmentů směrování zpráv, což označuje počet zprostředkujících serverů. |
| BadSignature | 32774 | Správce cílové fronty nemůže ověřit zprávu, protože připojený podpis je neplatný. |
| BadEncryption | 32775 | Správce cílové fronty nemůže zprávu dešifrovat. |
| CouldNotEncrypt | 32776 | Správce zdrojové fronty nemůže zprávu zašifrovat. |
| NotTransactionalQueue | 32777 | Transakční zpráva byla odeslána do netransakční fronty. |
| NotTransactionalMessage | 32778 | Do transakční fronty byla odeslána netransakční zpráva. |
| QueueDeleted | 49152 | Cílová fronta byla odstraněna před doručením zprávy do aplikace. |
| QueuePurged | 49153 | Fronta byla vyprázdněna a zpráva již neexistuje. |
| ReceiveTimeout | 49154 | Zpráva se včas nedoručila do aplikace. |
Příklady
Následující příklad ukazuje, jak získat přístup ke DeliveryFailure zprávě v rámci operace služby.
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
Poznámky
Můžete získat DeliveryFailure vlastnost, abyste zjistili, proč zpráva selhala a byla odeslána do fronty nedoručených zpráv. Další informace o zpracování zpráv ve frontě nedoručených zpráv najdete v tématu Použití front Dead-Letter ke zpracování chyb přenosu zpráv.