<msmqIntegrationBinding>

Mendefinisikan pengikatan yang menyediakan dukungan antrian dengan merutekan pesan melalui MSMQ.

<konfigurasi>
  <system.serviceModel>
    <bindings>
      <customBinding>
        <pengikatan>
          <msmqIntegrationBinding>

Sintaks

<msmqIntegrationBinding>
  <binding closeTimeout="TimeSpan"
           customDeadLetterQueue="Uri"
           deadLetterQueue="Uri"
           durable="Boolean"
           exactlyOnce="Boolean"
           maxReceivedMessageSize="Integer"
           maxRetryCycles="Integer"
           name="String"
           openTimeout="TimeSpan"
           receiveContextEnabled="Boolean"
           receiveErrorHandling="Drop/Fault/Move/Reject"
           receiveTimeout="TimeSpan"
           receiveRetryCount="Integer"
           retryCycleDelay="TimeSpan"
           sendTimeout="TimeSpan"
           serializationFormat="XML/Binary/ActiveX/ByteArray/Stream"
           timeToLive="TimeSpan"
           useMsmqTracing="Boolean"
           useSourceJournal="Boolean">
  </binding>
</msmqIntegrationBinding>

Atribut dan Elemen

Bagian berikut menjelaskan atribut, elemen anak, dan elemen induk

Atribut

Atribut Deskripsi
closeTimeout Nilai TimeSpan yang menentukan interval waktu yang disediakan untuk menyelesaikan operasi tertutup. Nilai ini harus lebih besar dari atau sama dengan Zero. Nilai defaultnya adalah "00:01:00".
customDeadLetterQueue URI yang berisi lokasi antrean surat mati per aplikasi, tempat di mana pesan yang telah kedaluwarsa atau yang gagal ditransfer atau dikirim ditempatkan.

Antrean surat mati adalah antrean pada pengelola antrean aplikasi pengirim pesan kadaluwarsa yang gagal terkirim.

URI yang ditentukan oleh CustomDeadLetterQueue harus menggunakan skema net.msmq.
deadLetterQueue Nilai DeadLetterQueue menentukan jenis antrean surat mati yang akan digunakan, jika ada

Antrean surat mati adalah lokasi pemindahan pesan yang gagal dikirim ke aplikasi.

Untuk pesan yang memerlukan jaminan exactlyOnce (yaitu, exactlyOnce diatur ke true), default atribut ini adalah ke antrean surat mati transaksi seluruh sistem di MSMQ.

Untuk pesan yang tidak membutuhkan jaminan, default atribut ini adalah null.
tahan Lama Nilai Boolean yang menunjukkan apakah pesan tahan lama atau tidak stabil dalam antrean. Pesan yang tahan lama bertahan dari crash manajer antrean, sementara pesan yang tidak stabil tidak. Pesan volatil berguna ketika aplikasi membutuhkan latensi yang lebih rendah dan dapat mentolerir pesan yang hilang sesekali. Jika atribut exactlyOnce diatur ke true, pesan harus tahan lama. Defaultnya adalah true.
exactlyOnce Nilai Boolean yang menunjukkan apakah setiap pesan hanya dikirim sekali. Pengirim lalu akan diberi tahu tentang kegagalan pengiriman. Jika durable adalah false, atribut ini diabaikan dan pesan ditransfer tanpa jaminan pengiriman. Defaultnya adalah true. Untuk informasi selengkapnya, lihat ExactlyOnce.
maxReceivedMessageSize Bilangan bulat positif yang menentukan ukuran pesan maksimum, dalam byte, termasuk header, yang diproses menggunakan pengikatan ini. Pengirim pesan yang melebihi batas ini akan menerima kesalahan SOAP. Penerima menjatuhkan pesan dan membuat entri peristiwa di log jejak. Defaultnya adalah "65536". Batas ukuran pesan ini dimaksudkan untuk membatasi paparan serangan Denial of Service (DoS).
maxRetryCycles Bilangan bulat yang menunjukkan jumlah siklus percobaan ulang yang digunakan oleh fitur deteksi pesan racun. Pesan menjadi pesan racun saat pesan menggagalkan semua upaya pengiriman dari semua siklus. Defaultnya adalah 2. Untuk informasi selengkapnya, lihat MaxRetryCycles.
nama String yang berisi nama konfigurasi pengikatan. Nilai ini harus unik karena digunakan sebagai identifikasi pengikatan. Dimulai dengan .NET Framework 4, pengikatan dan perilaku tidak perlu memiliki nama. Untuk informasi selengkapnya tentang konfigurasi default dan pengikatan serta perilaku tanpa nama, lihat Konfigurasi yang Disederhanakan dan Konfigurasi yang Disederhanakan untuk Layanan WCF.
openTimeout Nilai TimeSpan yang menentukan interval waktu yang disediakan untuk menyelesaikan operasi terbuka. Nilai ini harus lebih besar dari atau sama dengan Zero. Nilai defaultnya adalah "00:01:00".
receiveErrorHandling Nilai ReceiveErrorHandling yang menentukan cara penanganan pesan racun dan tidak dapat dikirim.
receiveRetryCount Bilangan bulat yang menentukan jumlah maksimum percobaan ulang langsung yang harus dicoba oleh manajer antrean bila transmisi pesan dari antrean aplikasi ke aplikasi gagal.

Jika jumlah maksimum upaya pengiriman tercapai dan pesan tidak diakses oleh aplikasi, maka pesan dikirim ke antrean percobaan ulang untuk dikirim kembali di lain waktu. Jumlah waktu sebelum pesan ditransfer kembali ke antrean pengiriman dikendalikan oleh retryCycleDelay. Jika siklus coba lagi mencapai nilai maxRetryCycles, maka pesan akan dikirim ke antrean pesan racun, atau pengakuan negatif dikirim kembali ke pengirim.
receiveTimeout Nilai TimeSpan yang menentukan interval waktu yang disediakan untuk menyelesaikan operasi penerimaan. Nilai ini harus lebih besar dari atau sama dengan Zero. Defaultnya adalah "00:10:00".
receiveContextEnabled Boolean yang menentukan apakah konteks penerimaan untuk memproses pesan dalam antrean diaktifkan. Ketika ini diatur ke true, layanan bisa "mengintip" pesan pada antrean untuk mulai memprosesnya, dan, jika ada yang salah dan pengecualian dilemparkan, itu tetap berada di antrean. Layanan juga bisa "mengunci" pesan untuk mencoba kembali pemrosesan di lain waktu. ReceiveContext menyediakan mekanisme untuk "menyelesaikan" pesan setelah diproses agar dapat dihapus dari antrean. Pesan tidak lagi dibaca dan ditulis ulang ke antrean melalui jaringan, dan pesan individual tidak memantul di berbagai instans layanan selama pemrosesan.
retryCycleDelay Nilai TimeSpan yang menentukan penundaan waktu antara siklus coba lagi saat mencoba menyampaikan pesan yang tidak bisa segera dikirim. Nilai ini hanya menentukan waktu tunggu minimum karena waktu tunggu aktual bisa lebih lama. Nilai defaultnya adalah 00:30:00. Untuk informasi selengkapnya, lihat RetryCycleDelay.
sendTimeout Nilai TimeSpan yang menentukan interval waktu yang disediakan untuk menyelesaikan operasi pengiriman. Nilai ini harus lebih besar dari atau sama dengan Zero. Nilai defaultnya adalah "00:01:00".
serializationFormat Mendefinisikan format yang digunakan untuk serialisasi isi pesan. Atribut ini berjenis MsmqMessageSerializationFormat.
timeToLive Nilai TimeSpan yang menentukan berapa lama pesan valid sebelum kedaluwarsa dan dimasukkan ke dalam antrean huruf mati. Defaultnya adalah 1.00:00:00.

Atribut ini diatur untuk memastikan bahwa pesan peka waktu tidak menjadi kedaluwarsa sebelum diproses oleh aplikasi penerima. Pesan dalam antrean yang tidak digunakan oleh aplikasi penerima dalam interval waktu yang ditentukan dikatakan kedaluwarsa. Pesan kedaluwarsa dikirim ke antrean khusus yang disebut antrean surat mati. Lokasi antrean surat mati diatur dengan atribut DeadLetterQueue atau ke default yang sesuai, berdasarkan jaminan.
useMsmqTracing Nilai Boolean yang menentukan apakah pesan yang diproses oleh pengikatan ini harus dilacak. Defaultnya adalah false. Saat pelacakan diaktifkan, pesan laporan dibuat dan dikirim ke antrean laporan setiap kali pesan keluar atau tiba di komputer Message Queuing.
useSourceJournal Nilai Boolean yang menentukan salinan pesan yang diproses oleh pengikatan ini harus disimpan di dalam jurnal sumber. Defaultnya adalah false.

Aplikasi antrean yang ingin menyimpan catatan pesan yang telah meninggalkan antrean keluar komputer dapat menyalin pesan ke antrean jurnal. Setelah pesan meninggalkan antrean keluar dan pengakuan diterima bahwa pesan diterima di komputer tujuan, salinan pesan disimpan dalam antrean jurnal sistem komputer pengirim.

{serializationFormat} Atribut

Nilai Deskripsi
Xml Format XML
Biner Format biner
ActiveX format ActiveX
ByteArray Menserialisasikan objek ke array byte.
Stream Isi yang diformat sebagai aliran

Elemen Anak

Elemen Deskripsi
<security> Menentukan pengaturan keamanan untuk pengikatan. Elemen ini berjenis MsmqIntegrationSecurityElement.

Elemen Induk

Elemen Deskripsi
<bindings> Elemen ini menyimpan koleksi pengikatan standar dan kustom.

Keterangan

Elemen pengikatan ini dapat digunakan untuk mengaktifkan aplikasi Windows Communication Foundation (WCF) untuk mengirim pesan ke dan menerima pesan dari aplikasi MSMQ yang ada yang menggunakan COM, MSMQ native API, atau jenis yang ditentukan di System.Messaging namespace Anda bisa menggunakan elemen konfigurasi ini untuk menentukan cara untuk mengatasi antrean, mentransfer jaminan, apakah pesan harus disimpan dengan tahan lama, dan bagaimana pesan harus dilindungi dan diautentikasi. Pelajari selengkapnya tentang: Cara: Menukarkan Pesan dengan Titik Akhir WCF dan Aplikasi MSMQ.

Contoh

<configuration>
  <system.ServiceModel>
    <bindings>
      <msmqIntegrationBinding>
        <binding closeTimeout="00:00:10"
                 openTimeout="00:00:20"
                 receiveTimeout="00:00:30"
                 sendTimeout="00:00:40"
                 deadLetterQueue="net.msmq://localhost/blah"
                 durable="true"
                 exactlyOnce="true"
                 maxReceivedMessageSize="1000"
                 maxImmediateRetries="11"
                 maxRetryCycles="12"
                 poisonMessageHandling="Disabled"
                 rejectAfterLastRetry="false"
                 retryCycleDelay="00:05:55"
                 timeToLive="00:11:11"
                 useSourceJournal="true"
                 useMsmqTracing="true"
                 serializationFormat="Binary">
          <security mode="None" />
        </binding>
      </msmqIntegrationBinding>
    </bindings>
  </system.ServiceModel>
</configuration>

Lihat juga