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
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.