DeliveryFailure Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
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.