ReceiveErrorHandling 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 penanganan untuk pesan racun.
public enum class ReceiveErrorHandling
public enum ReceiveErrorHandling
type ReceiveErrorHandling =
Public Enum ReceiveErrorHandling
- Warisan
Bidang
| Nama | Nilai | Deskripsi |
|---|---|---|
| Fault | 0 | Opsi ini mengirimkan kesalahan ke pendengar yang menyebabkan Kesalahan ServiceHost. Pesan harus dihapus dari antrean aplikasi oleh beberapa mekanisme eksternal sebelum aplikasi dapat terus memproses pesan dari antrean. |
| Drop | 1 | Opsi ini menghilangkan pesan racun. Pesan tidak pernah dikirimkan ke aplikasi. Jika TTL pesan sudah kedaluwarsa pada saat ini, maka pesan mungkin muncul di Antrean Surat Mati pengirim. Jika tidak, pesan tidak muncul di mana pun. Opsi ini menunjukkan bahwa pengguna tidak benar-benar peduli jika pesan hilang. |
| Reject | 2 | Ini menginstruksikan MSMQ untuk mengirim pengakuan negatif kembali ke manajer antrean pengiriman bahwa pesan tidak dapat diterima oleh aplikasi. Pesan ditempatkan di Antrean Surat Mati manajer antrean pengirim. |
| Move | 3 | Ini memindahkan pesan racun ke Antrean Pesan Racun untuk diproses nanti oleh aplikasi penanganan pesan racun. |
Contoh
Kode konfigurasi berikut mengilustrasikan cara mengatur properti ini dalam file konfigurasi layanan:
<configuration>
<appSettings>
<!-- use appSetting to configure MSMQ queue name -->
<add key="queueName" value=".\private$\ServiceModelSamplesPoison" />
<add key="baseAddress" value="http://localhost:8000/orderProcessor/poisonSample"/>
</appSettings>
<system.serviceModel>
<services>
<service
name="Microsoft.ServiceModel.Samples.OrderProcessorService">
<!-- Define NetMsmqEndpoint -->
<endpoint address="net.msmq://localhost/private/ServiceModelSamplesPoison"
binding="netMsmqBinding"
bindingConfiguration="PoisonBinding"
contract="Microsoft.ServiceModel.Samples.IOrderProcessor" />
</service>
</services>
<bindings>
<netMsmqBinding>
<binding name="PoisonBinding"
receiveRetryCount="0"
maxRetryCycles="1"
retryCycleDelay="00:00:05"
receiveErrorHandling="Fault"
/>
</netMsmqBinding>
</bindings>
</system.serviceModel>
</configuration>
Keterangan
Pesan racun adalah pesan yang gagal dalam upaya berulang untuk dikirimkan ke aplikasi. Ini hanya berlaku saat menggunakan pengikatan berbasis Antrean Pesan (MSMQ). Nilai defaultnya adalah Fault, yang mengalihkan pendengar dan oleh karena itu ServiceHost. Dalam kasus di mana layanan itu salah karena pesan racun, dilemparkan MsmqPoisonMessageException . Pengecualian berisi LookupId pesan MSMQ yang dapat digunakan untuk memindahkan pesan dari cara menggunakan System.Messaging API. Nilai tertentu dari ReceiveErrorHandling enumerasi seperti Reject dan Move hanya tersedia di Windows Vista. Anda mengontrol penanganan pesan racun dengan mengatur ReceiveErrorHandling properti ke salah satu nilai enumerasi ini.