DeliveryFailure Enum
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan kemungkinan jenis kegagalan pengiriman untuk pesan yang dibaca dari antrean.
public enum class DeliveryFailure
public enum DeliveryFailure
type DeliveryFailure =
Public Enum DeliveryFailure
- Warisan
Bidang
| Nama | Nilai | Deskripsi |
|---|---|---|
| Unknown | 0 | Terjadi kesalahan yang tidak diketahui. |
| BadDestinationQueue | 32768 | Antrean tujuan tidak ditemukan. |
| Purged | 32769 | Pesan dibersihkan sebelum mencapai antrean tujuan. |
| ReachQueueTimeout | 32770 | Pesan tidak mencapai antrean tujuan sebelum waktu habis. |
| QueueExceedMaximumSize | 32771 | Pesan tidak terkirim karena antrean tujuan penuh. |
| AccessDenied | 32772 | Pengirim tidak memiliki hak akses untuk menempatkan pesan dalam antrean tujuan. |
| HopCountExceeded | 32773 | Jumlah hop pesan terlampaui, yang menunjukkan jumlah server perantara. |
| BadSignature | 32774 | Manajer antrean tujuan tidak dapat mengautentikasi pesan karena tanda tangan terlampir tidak valid. |
| BadEncryption | 32775 | Manajer antrean tujuan tidak dapat mendekripsi pesan. |
| CouldNotEncrypt | 32776 | Manajer antrean sumber tidak dapat mengenkripsi pesan. |
| NotTransactionalQueue | 32777 | Pesan transaksional dikirim ke antrean nontransaksi. |
| NotTransactionalMessage | 32778 | Pesan nontransaksi dikirim ke antrean transaksional. |
| QueueDeleted | 49152 | Antrean tujuan dihapus sebelum pesan dapat dikirimkan ke aplikasi. |
| QueuePurged | 49153 | Antrean dibersihkan dan pesan tidak ada lagi. |
| ReceiveTimeout | 49154 | Pesan tidak dikirimkan ke aplikasi tepat waktu. |
Contoh
Contoh di bawah ini menunjukkan cara mengakses DeliveryFailure pesan dalam operasi layanan.
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
Keterangan
Anda bisa mendapatkan DeliveryFailure properti untuk menentukan mengapa pesan gagal dikirim dan dikirim ke antrean surat mati. Untuk informasi tambahan tentang pemrosesan pesan dalam antrean surat mati, lihat Menggunakan Antrean Dead-Letter untuk Menangani Kegagalan Transfer Pesan.