Bagikan melalui


ReceiveErrorHandling Enum

Definisi

Menentukan penanganan untuk pesan racun.

public enum class ReceiveErrorHandling
public enum ReceiveErrorHandling
type ReceiveErrorHandling = 
Public Enum ReceiveErrorHandling
Warisan
ReceiveErrorHandling

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.

Berlaku untuk

Lihat juga