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
Drop | 1 | Opsi ini menjatuhkan pesan racun. Pesan tidak pernah dikirimkan ke aplikasi. Jika TTL pesan telah 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. |
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 memroses pesan dari antrean. |
Move | 3 | Ini memindahkan pesan racun ke Antrean Pesan Racun untuk diproses nanti oleh aplikasi penanganan pesan racun. |
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. |
Contoh
Kode konfigurasi berikut ini menggambarkan 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 Message Queuing (MSMQ). Nilai defaultnya adalah Fault
, yang menyalahkan 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.