Sdílet prostřednictvím


DeliveryFailure Výčet

Definice

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
DeliveryFailure

Pole

AccessDenied 32772

Odesílatel nemá přístupová práva k umístění zpráv do cílové fronty.

BadDestinationQueue 32768

Cílová fronta nebyla nalezena.

BadEncryption 32775

Správce cílové fronty nemůže zprávu dešifrovat.

BadSignature 32774

Správce cílové fronty nemůže zprávu ověřit, protože připojený podpis je neplatný.

CouldNotEncrypt 32776

Správce zdrojové fronty nemůže zprávu zašifrovat.

HopCountExceeded 32773

Počet segmentů směrování zpráv byl překročen, což označuje počet zprostředkujících serverů.

NotTransactionalMessage 32778

Do transakční fronty byla odeslána netransakční zpráva.

NotTransactionalQueue 32777

Transakční zpráva byla odeslána do netransakční fronty.

Purged 32769

Zpráva byla vyprázdněna před dosažením cílové fronty.

QueueDeleted 49152

Cílová fronta byla odstraněna před doručením zprávy do aplikace.

QueueExceedMaximumSize 32771

Zpráva nebyla doručena, protože cílová fronta je plná.

QueuePurged 49153

Fronta byla vyprázdněna a zpráva už neexistuje.

ReachQueueTimeout 32770

Zpráva se před vypršením časového limitu nedostala do cílové fronty.

ReceiveTimeout 49154

Zpráva se do aplikace nedoručila včas.

Unknown 0

Došlo k neznámé chybě.

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

Vlastnost můžete získat, DeliveryFailure abyste zjistili, proč se doručení zprávy nezdařilo 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í Dead-Letter front ke zpracování selhání přenosu zpráv.

Platí pro

Viz také