Condividi tramite


DeliveryFailure Enumerazione

Definizione

Specifica i possibili tipi di errore di recapito per un messaggio letto dalla coda.

public enum class DeliveryFailure
public enum DeliveryFailure
type DeliveryFailure = 
Public Enum DeliveryFailure
Ereditarietà
DeliveryFailure

Campi

Nome Valore Descrizione
Unknown 0

Si è verificato un errore sconosciuto.

BadDestinationQueue 32768

Impossibile trovare la coda di destinazione.

Purged 32769

Il messaggio è stato eliminato prima di raggiungere la coda di destinazione.

ReachQueueTimeout 32770

Il messaggio non ha raggiunto la coda di destinazione prima del timeout.

QueueExceedMaximumSize 32771

Il messaggio non è stato recapitato perché la coda di destinazione è piena.

AccessDenied 32772

Il mittente non dispone dei diritti di accesso per inserire i messaggi nella coda di destinazione.

HopCountExceeded 32773

È stato superato il numero di hop dei messaggi, che indica il numero di server intermedi.

BadSignature 32774

Gestione code di destinazione non è in grado di autenticare il messaggio perché la firma associata non è valida.

BadEncryption 32775

Gestione code di destinazione non può decrittografare il messaggio.

CouldNotEncrypt 32776

Gestione code di origine non è in grado di crittografare il messaggio.

NotTransactionalQueue 32777

Un messaggio transazionale è stato inviato a una coda non transazionale.

NotTransactionalMessage 32778

Un messaggio non transazionale è stato inviato a una coda transazionale.

QueueDeleted 49152

La coda di destinazione è stata eliminata prima che il messaggio possa essere recapitato all'applicazione.

QueuePurged 49153

La coda è stata rimossa e il messaggio non esiste più.

ReceiveTimeout 49154

Il messaggio non è stato recapitato all'applicazione in tempo.

Esempio

L'esempio seguente illustra come accedere all'oggetto DeliveryFailure di un messaggio all'interno di un'operazione del servizio.

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

Commenti

È possibile ottenere la proprietà per determinare il DeliveryFailure motivo per cui il recapito di un messaggio non è riuscito ed è stato inviato alla coda dei messaggi non recapitabili. Per altre informazioni sull'elaborazione dei messaggi in una coda di messaggi non recapitabili, vedere Uso di code Dead-Letter per gestire gli errori di trasferimento dei messaggi.

Si applica a

Vedi anche