Artikel ini adalah artikel cermin dari terjemahan mesin, silakan klik di sini untuk melompat ke artikel aslinya.

Melihat: 304494|Jawab: 72

[Sumber] c# Penggunaan antrean pesan MessageQueue dengan kode sumber

  [Salin tautan]
Diposting pada 14/12/2016 13.51.37 | | | |

Dengan MSMQ (Microsoft Message Queue), pengembang aplikasi dapat dengan mudah berkomunikasi dengan aplikasi dengan cepat dan andal dengan mengirim dan menerima pesan. Pemrosesan pesan memberi Anda metode fail-safe yang andal untuk pesan yang dijamin dan melakukan banyak proses bisnis.

MSMQ, seperti XML Web Services dan .Net Remoting, adalah teknologi pengembangan terdistribusi. Namun, saat menggunakan komponen XML Web Services atau .Net Remoting, klien perlu bertukar informasi dengan server secara real time, dan server harus tetap online. MSMQ dapat bekerja saat server offline, menyimpan pesan sementara di antrean pesan di sisi klien, lalu mengirimkannya ke server untuk diproses saat online.

Jelas, MSMQ tidak cocok untuk situasi di mana klien perlu merespons tepat waktu dari server, dan MSMQ berinteraksi dengan server secara asinkron, jadi tidak perlu khawatir menunggu server diproses untuk waktu yang lama.



Meskipun Layanan Web XML dan .Net Remote menyediakan properti [OneWay] untuk menangani panggilan asinkron, ini digunakan untuk memecahkan masalah panggilan metode panjang di sisi server yang memblokir sisi klien untuk waktu yang lama. Namun, itu tidak dapat menyelesaikan masalah beban klien yang besar, dan server menerima permintaan lebih cepat daripada yang dapat diproses.

Secara umum, atribut [OneWay] tidak digunakan dalam layanan pesan khusus.



1. Istilah dan konsep dasar

"Pesan" adalah unit data yang ditransmisikan antara dua komputer. Pesan bisa sangat sederhana, seperti hanya berisi string teks; Ini juga bisa lebih kompleks dan mungkin berisi objek yang disematkan.



Pesan dikirim ke antrean. "Antrean pesan" adalah wadah yang menyimpan pesan selama transmisinya. Pengelola antrean pesan bertindak sebagai perantara saat menyampaikan pesan dari sumbernya ke tujuannya. Tujuan utama antrian adalah untuk menyediakan perutean dan menjamin pengiriman pesan; Jika penerima tidak tersedia saat pesan dikirim, antrean pesan menahan pesan hingga berhasil dikirim.



"Message Queuing" adalah teknologi pemrosesan pesan Microsoft yang menyediakan kemampuan pemrosesan pesan dan antrean pesan untuk aplikasi apa pun dalam kombinasi komputer apa pun dengan Microsoft Windows terinstal, terlepas dari apakah mereka berada di jaringan yang sama atau online pada saat yang sama.



"Jaringan antrean pesan" adalah sekelompok komputer yang dapat mengirim pesan bolak-balik satu sama lain. Komputer yang berbeda dalam jaringan memainkan peran yang berbeda dalam memastikan bahwa pesan diproses dengan lancar. Beberapa dari mereka memberikan informasi perutean untuk menentukan cara mengirim pesan, beberapa menyimpan informasi penting tentang seluruh jaringan, dan beberapa hanya mengirim dan menerima pesan.



Selama penginstalan Antrean Pesan, administrator menentukan server mana yang dapat berkomunikasi satu sama lain dan menetapkan peran khusus untuk server tertentu. Komputer yang membentuk jaringan "antrian pesan" ini disebut "situs", dan mereka terhubung satu sama lain oleh "tautan situs". Setiap sitelink memiliki "overhead" terkait yang ditentukan oleh administrator dan menunjukkan seberapa sering pesan dikirimkan melalui sitelink ini.



Administrator Antrean Pesan juga menyiapkan satu atau beberapa komputer di jaringan yang bertindak sebagai Server Perutean. Server perutean melihat overhead setiap sitelink untuk menentukan cara tercepat dan paling efisien untuk mengirimkan pesan melalui beberapa situs untuk menentukan cara mengirimkan pesan.



2. Jenis Antrean

Ada dua jenis antrean utama: antrean yang dibuat oleh Anda atau pengguna lain di jaringan Anda dan antrean sistem.

Antrean yang dibuat pengguna dapat berupa salah satu dari berikut ini:

Antrean publik direplikasi di seluruh jaringan Antrean Pesan dan berpotensi diakses oleh semua situs yang terhubung ke jaringan.

Antrean pribadi tidak dipublikasikan di seluruh jaringan. Sebaliknya, mereka hanya tersedia di komputer lokal tempat mereka tinggal. Antrean pribadi hanya dapat diakses oleh aplikasi yang mengetahui nama jalur lengkap atau label antrean.

Antrean Manajemen berisi pesan yang mengakui tanda terima pesan yang dikirim di jaringan Antrean Pesan tertentu. Tentukan antrean manajemen yang Anda inginkan untuk digunakan komponen MessageQueue, jika ada.

Antrean Respons berisi pesan respons yang dikembalikan ke aplikasi pengirim saat aplikasi target menerima pesan. Tentukan antrean respons yang Anda inginkan untuk digunakan komponen MessageQueue, jika ada.



Antrean yang dihasilkan oleh sistem umumnya dibagi menjadi beberapa kategori berikut:

Antrean Jurnal secara opsional menyimpan salinan pesan terkirim dan salinan pesan yang dihapus dari antrean. Satu antrean jurnal pada setiap klien Antrean Pesan menyimpan salinan pesan yang dikirim dari komputer tersebut. Antrean buku harian terpisah dibuat untuk setiap antrean di server. Jurnal ini melacak pesan yang dihapus dari antrean tersebut.

Antrean Surat Mati menyimpan salinan pesan yang tidak dapat dikirimkan atau telah kedaluwarsa. Jika pesan yang kedaluwarsa atau tidak dapat dikirimkan bersifat transaksional, pesan tersebut disimpan dalam antrean surat mati khusus yang disebut "antrean surat mati transaksional". Huruf mati disimpan di komputer tempat pesan kedaluwarsa berada. Untuk informasi selengkapnya tentang pesan batas waktu dan kedaluwarsa, lihat Properti pesan default.

Antrean Laporan berisi pesan yang menunjukkan rute yang diambil pesan untuk mencapai tujuan, dan juga dapat berisi pesan pengujian. Hanya ada satu antrean pelaporan di setiap komputer.

Antrean sistem khusus adalah serangkaian antrean khusus yang menyimpan pesan manajemen dan pemberitahuan yang diperlukan sistem untuk melakukan operasi pemrosesan pesan.

Sebagian besar pekerjaan yang dilakukan dalam aplikasi melibatkan akses antrian publik dan pesannya. Namun, tergantung pada penjurnalan aplikasi, pengakuan, dan kebutuhan pemrosesan khusus lainnya, kemungkinan beberapa antrean sistem yang berbeda akan digunakan dalam operasi sehari-hari.



3. Komunikasi Sinkron VS. Asinkron

Komunikasi antrean pada dasarnya asinkron karena mengirim pesan ke dan menerima pesan dari antrean dilakukan dalam proses yang berbeda. Selain itu, operasi penerimaan dapat dilakukan secara asinkron, karena orang yang ingin menerima pesan dapat memanggil metode BeginReceive ke antrean tertentu dan segera melanjutkan tugas lain tanpa menunggu balasan. Ini sangat berbeda dari apa yang dikenal orang sebagai "komunikasi sinkron".



Dalam komunikasi sinkron, pengirim permintaan harus menunggu respons dari penerima yang dituju sebelum melakukan tugas lain. Jumlah waktu tunggu pengirim sepenuhnya bergantung pada waktu yang dibutuhkan penerima untuk memproses permintaan dan mengirim respons.



4. Berinteraksi dengan Antrean Pesan

Pemrosesan pesan dan perpesanan menyediakan mekanisme yang kuat dan fleksibel untuk komunikasi antar-proses antara komponen aplikasi berbasis server. Mereka menawarkan beberapa keunggulan dibandingkan pemanggilan langsung antar komponen, termasuk:

Stabilitas – Kegagalan komponen memengaruhi pesan jauh lebih sedikit daripada panggilan langsung antar komponen, karena pesan disimpan dalam antrean dan tetap ada sampai diproses dengan benar. Pemrosesan pesan mirip dengan pemrosesan transaksi di mana pemrosesan pesan dijamin.
Prioritas pesan – Pesan yang lebih mendesak atau penting dapat diterima sebelum pesan yang relatif tidak penting, sehingga Anda dapat menjamin waktu respons yang memadai untuk aplikasi penting.
Kemampuan offline – Saat pesan dikirim, pesan tersebut dapat dikirim ke antrean sementara dan tetap ada hingga berhasil dikirimkan. Ketika akses ke antrean yang diinginkan tidak tersedia karena alasan apa pun, pengguna dapat melanjutkan tindakan tersebut. Pada saat yang sama, operasi lain dapat dilanjutkan seolah-olah pesan telah diproses, karena pengiriman pesan dijamin saat koneksi jaringan dipulihkan.
Pemrosesan pesan transaksional – Pasangkan beberapa pesan terkait menjadi satu transaksi untuk memastikan bahwa pesan dikirimkan secara berurutan, hanya sekali, dan dapat berhasil diambil dari antrean tujuannya. Jika ada kesalahan, seluruh transaksi dibatalkan.
Keamanan – Teknologi antrean pesan yang menjadi dasar komponen MessageQueue menggunakan Keamanan Windows untuk mengamankan kontrol akses, menyediakan audit, serta mengenkripsi serta mengautentikasi pesan yang dikirim dan diterima oleh komponen.


5. Tulis program antrian pesan sederhana di lingkungan .Net

(1) Instal Layanan Antrian Pesan terlebih dahulu

Instal MSMQ melalui Panel Kontrol, langkah "Tambah/Hapus Program" – "Tambah/Hapus Komponen Windows".

MSMQ dapat diinstal dalam mode kelompok kerja atau mode domain. Jika penginstal tidak menemukan server yang menjalankan antrean pesan yang menyediakan layanan direktori, server hanya dapat diinstal dalam mode grup kerja, dan Antrean Pesan di komputer ini hanya mendukung pembuatan antrean pribadi dan pembuatan koneksi langsung ke komputer lain yang menjalankan Antrean Pesan.



(2) Konfigurasikan MSMQ

Buka Manajemen Komputer – Antrean Pesan dan buat antrean MSMQDemo di bawah Antrean Pribadi


(3) Tulis kode - cukup tunjukkan objek MSMQ

Kelas MessageQueue adalah pembungkus di sekitar "antrean pesan". Kelas MessageQueue menyediakan referensi ke antrean Antrean Pesan. Anda dapat menentukan jalur ke sumber daya yang ada di konstruktor MessageQueue, atau Anda dapat membuat antrean baru di server. Sebelum Anda dapat memanggil Kirim, Mengintip, atau Terima, Anda harus mengaitkan instans baru kelas MessageQueue dengan antrean yang ada.



MessageQueue mendukung dua jenis pengambilan pesan: sinkron dan asinkron. Metode Mengintip dan Menerima yang disinkronkan menyebabkan utas proses menunggu pesan baru tiba di antrean pada interval tertentu. Metode BeginPeek dan BeginReceive asinkron memungkinkan tugas aplikasi utama untuk terus dijalankan dalam utas terpisah sebelum pesan mencapai antrean. Metode ini bekerja dengan menggunakan objek callback dan objek status untuk memfasilitasi komunikasi informasi antar utas.


Unduhan kode sumber:

Wisatawan, jika Anda ingin melihat konten tersembunyi dari posting ini, silakanJawab





Mantan:15 bagus. .NET
Depan:c#/.net membaca kode sumber informasi hash torrent torrent
Diposting pada 13/06/2021 20.54.46 |
OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK
Diposting pada 22/02/2019 11.01.34 |
https://download.csdn.net/download/winrich/9585398
Diposting pada 21/07/2021 11.20.26 |
Bagus, bagus
Diposting pada 21/12/2016 23.04.53 |
Terima kasih, tuan tanah
Diposting pada 28/12/2016 19.20.26 |
Lihat yang saat ini untuk melakukan latihan ini
Diposting pada 14/07/2017 16.32.06 |
Terima kasih, tuan tanah。。。。。。。
Diposting pada 18/10/2017 14.26.45 |
Belajar dari pemimpin kelompok
Diposting pada 24/10/2017 05.39.19 |
Belajar
Diposting pada 18/11/2017 21.56.57 |
GOOOOOOOOOOOOOOOD
Diposting pada 14/12/2017 14.04.20 |
Postingan yang bagus harus dibalas
Diposting pada 16/12/2017 21.49.55 |
213123saedwaeas
Diposting pada 17/12/2017 08.56.11 |
Lihatlah apa yang dikatakan
Sanggahan:
Semua perangkat lunak, materi pemrograman, atau artikel yang diterbitkan oleh Code Farmer Network hanya untuk tujuan pembelajaran dan penelitian; Konten di atas tidak boleh digunakan untuk tujuan komersial atau ilegal, jika tidak, pengguna akan menanggung semua konsekuensi. Informasi di situs ini berasal dari Internet, dan sengketa hak cipta tidak ada hubungannya dengan situs ini. Anda harus sepenuhnya menghapus konten di atas dari komputer Anda dalam waktu 24 jam setelah pengunduhan. Jika Anda menyukai program ini, harap dukung perangkat lunak asli, pembelian pendaftaran, dan dapatkan layanan asli yang lebih baik. Jika ada pelanggaran, silakan hubungi kami melalui email.

Mail To:help@itsvse.com