SendMSMQMessage
Sampel SendMSMQMessage menunjukkan cara mengirim pesan ke port MSMQ dari . Aplikasi berbasis NET. Ini juga menyediakan instruksi tentang cara mengonfigurasi Microsoft BizTalk Server untuk menggunakan lokasi penerimaan MSMQ.
Anda harus menyadari bahwa banyak operasi dalam Antrean Pesan bersifat asinkron. Artinya, banyak panggilan MSMQ API (misalnya, System.Messaging.MessageQueue.Send) kembali ke pemanggil sebelum operasi yang diminta selesai sepenuhnya. MSMQ menyediakan mekanisme untuk memberikan umpan balik ke aplikasi setelah operasi selesai. Mekanisme ini melibatkan penggunaan "antrean Admin." MSMQ mengembalikan umpan balik dalam bentuk pesan dalam Antrean Admin. Antrean Admin tempat MSMQ akan mengembalikan umpan balik ditentukan ketika panggilan MSMQ API asli dilakukan. Jadi, misalnya, saat mengirim pesan menggunakan System.Messaging.MessageQueue.Send API, aplikasi dapat menentukan nama antrean Admin dengan menggunakan properti pesan PROPID_M_ADMIN_QUEUE pada pesan yang diteruskan dalam panggilan ke System.Messaging.MessageQueue.Send. Meskipun aplikasi mungkin mendapatkan kode pengembalian yang berhasil pada panggilan System.Messaging.MessageQueue.Send, jika operasi pengiriman pesan kemudian gagal, MSMQ menulis pesan ke efek tersebut ke antrean Admin yang ditentukan. Jika aplikasi tidak menentukan antrean Admin, kegagalan pengiriman mengakibatkan pesan hilang dan tidak ada diagnostik yang ditangkap — berlaku, pesan menghilang tanpa bukti apa pun. Ada sejumlah situasi kesalahan di MSMQ yang dapat menyebabkan hal ini terjadi, misalnya, melakukan pengiriman non-transaksi ke antrean transaksi.
Dalam konteks sampel ini, penting bahwa kode menentukan jenis transaksi dalam panggilan ke System.Messaging.MessageQueue.Send yang konsisten dengan dukungan transaksi yang ditentukan untuk antrean tempat pesan dikirim. Jika ini tidak dilakukan dan jika tidak ada antrean Admin yang ditentukan (seperti halnya dalam sampel ini), maka MSMQ membuang pesan yang dikirim tanpa indikasi bahwa ia telah melakukannya (yaitu, tidak ada kode kesalahan yang dikembalikan ke aplikasi, tidak ada diagnostik yang ditulis ke log peristiwa, dan sebagainya).
<Jalur> Sampel\AdaptersUsage\SendMSMQMessage\
Tabel berikut ini memperlihatkan file dalam sampel ini dan menjelaskan tujuannya.
File | Deskripsi |
---|---|
App.ico, AssemblyInfo.cs, SendMSMQMessage.csproj, SendMSMQMessage.sln | Berikan proyek, solusi, dan file terkait untuk aplikasi grafis sederhana untuk sampel ini. |
Form1.cs, Form1.resx | Berikan sumber Microsoft Visual C#.NET dan file formulir untuk aplikasi grafis sederhana untuk sampel ini. |
Anda dapat menggunakan kode dalam aplikasi grafis sederhana yang disertakan dengan sampel ini sebagai contoh cara mengirim pesan ke MSMQ menerima lokasi dalam BizTalk Server dari . Aplikasi yang didukung NET seperti Microsoft Office, dari halaman ASP.NET, dan sebagainya.
Menggunakan Visual Studio, buka file solusi SendMSMQMessage.sln.
Pada menu Build, klik Solusi Build.
Gunakan prosedur berikut untuk mengonfigurasi BizTalk Server dan membuat antrean MSMQ untuk menjalankan sampel.
Klik Mulai, klik kanan Komputer, lalu klik Kelola.
Perluas node Fitur . Jika Antrean Pesan tidak diinstal, klik kanan Fitur dan pilih Tambahkan Fitur. Periksa Antrean Pesan, klik Berikutnya, lalu klik Instal untuk menginstal MSMQ pada sistem tersebut.
Perluas simpul Antrean Pesan .
Klik kanan simpul Antrean Privat , klik Baru, lalu klik Antrean Privat.
Di bawah Nama antrean, masukkan
test
. Pastikan bahwa kotak centang Transaksi dipilih.Klik OK.
Klik Mulai, klik kanan Komputer, lalu klik Kelola.
Perluas Layanan dan Aplikasi, lalu perluas simpul Antrean Pesan .
Catatan
Jika Antrean Pesan tidak diinstal di komputer, buka Panel Kontrol >> Program dan Fitur, lalu pilih Aktifkan atau nonaktifkan fitur Windows. Periksa semua fitur di bawah Microsoft Message Queue (MSMQ) Server, lalu klik OK.
Klik kanan simpul Antrean Privat , klik Baru, lalu klik Antrean Privat.
Di bawah Nama antrean, masukkan pengujian. Pastikan bahwa kotak centang Transaksi dipilih.
Klik OK.
Pilih folder untuk menerima pesan. Langkah-langkah berikut mengasumsikan bahwa Anda telah memilih C:\Demo\Report, tetapi Anda dapat menyesuaikan langkah-langkah seperlunya untuk folder lain.
Buka konsol Administrasi BizTalk Server.
Buat aplikasi baru bernama MSMQSample.
Klik kanan Terima Port, klik Baru, lalu klik Port Terima Satu Arah.
Dalam kotak dialog Terima Properti Port , dalam kotak Nama masukkan MyReceivePort, lalu klik OK.
Klik kanan Terima Lokasi, klik Baru, lalu klik Lokasi Terima Satu Arah. Dalam kotak dialog Pilih Port Terima , pilih port terima yang baru saja Anda buat dan klik OK.
Dalam kotak dialog Terima Properti Lokasi , dalam kotak Nama , ketik nama untuk port penerima, seperti MSMQReceiveLocation.
Dalam kotak dialog Terima Properti Lokasi , untuk jenis transportasi, pilih MSMQ .
Klik Konfigurasikan untuk membuka kotak dialog Properti Transportasi MSMQ . Atur Antrean ke
localhost\private$\test
, atur Transaksi keTrue
, lalu klik OK.Perluas aplikasi, pilih Kirim Port, pilih Baru, pilih Port Kirim Satu Arah Statis.
Dalam kotak dialog Kirim Properti Port , dalam kotak Nama , ketik nama untuk port kirim, seperti MySendPort.
Atur properti Jenis Transportasi ke FILE.
Klik Konfigurasikan untuk membuka kotak dialog Properti Transportasi File .
Dalam kotak dialog Properti Transportasi FILE , atur properti Folder Tujuan ke C:\Demo\Report, pertahankan pengaturan default untuk properti lain, lalu klik OK.
Pilih Filter, lalu tambahkan baris baru dengan mengatur Properti ke BTS. ReceivePortName. Biarkan kolom Operator diatur ke ==, atur kolom Nilai ke MyReceivePort, lalu klik OK.
Klik kanan port kirim baru Anda, lalu klik Daftarkan.
Klik kanan port kirim baru Anda lagi, lalu klik Mulai.
Klik kanan lokasi penerimaan baru Anda, lalu klik Aktifkan.
BizTalk Server sekarang siap untuk bekerja dengan sampel ini.
Gunakan prosedur berikut untuk menjalankan sampel SendMSMQMessage.
Di jendela perintah, navigasikan ke folder berikut:
<Samples Path>\AdaptersUsage\SendMSMQMessage\bin\Debug
Jalankan file SendMSMQMessage.exe, yang memulai aplikasi grafis yang menyediakan antarmuka pengguna untuk sampel ini.
Dalam aplikasi grafis, dalam kotak nama mesin BizTalk , ketik nama komputer lokal.
Coba opsi Kirim Dibungkus :
Secara opsional ubah teks dalam kotak Isi pesan .
Klik Kirim dibungkus.
Jika operasi berhasil, Anda akan melihat hal berikut:
Kata Berhasil muncul dalam font merah dalam kotak tepat di atas tombol.
File muncul di folder tujuan Anda, C:\Demo\Reports. File ini berisi teks dari kotak Isi pesan yang dibungkus dalam tag XML sederhana oleh pustaka antrean pesan .NET.
Jika operasi gagal, Anda akan melihat pesan kesalahan di kotak tepat di atas tombol.
Coba opsi Kirim Tepat :
Secara opsional ubah teks dalam kotak Isi pesan .
Klik Kirim dengan tepat.
Jika operasi berhasil, Anda akan melihat hal berikut:
Kata Berhasil muncul dalam font merah dalam kotak tepat di atas tombol.
File muncul di folder tujuan Anda, C:\Demo\Reports. File ini berisi teks dari kotak Isi pesan persis seperti yang muncul di kotak teks.
Jika operasi gagal, Anda akan melihat pesan kesalahan di kotak tepat di atas tombol.