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

AccessDenied 32772

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

BadDestinationQueue 32768

Non è stata trovata la coda di destinazione.

BadEncryption 32775

Il Gestore code di destinazione non è in grado di decrittografare il messaggio.

BadSignature 32774

Il Gestore code di destinazione non è in grado di autenticare il messaggio perché la firma allegata non è valida.

CouldNotEncrypt 32776

Il Gestore code di origine non è in grado di crittografare il messaggio.

HopCountExceeded 32773

È stato superato il numero di hop, ovvero il numero di server intermedi.

NotTransactionalMessage 32778

A una coda transazionale è stato inviato un messaggio non transazionale.

NotTransactionalQueue 32777

A una coda non transazionale è stato inviato un messaggio transazionale.

Purged 32769

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

QueueDeleted 49152

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

QueueExceedMaximumSize 32771

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

QueuePurged 49153

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

ReachQueueTimeout 32770

Il messaggio non è arrivato nella coda di destinazione prima della scadenza del timeout.

ReceiveTimeout 49154

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

Unknown 0

Si è verificato un errore sconosciuto.

Esempio

Nell'esempio seguente viene illustrato come accedere alla DeliveryFailure di un messaggio nell'ambito 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à DeliveryFailure per determinare perché un messaggio non è stato recapitato 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