MessageQueue.Transactional Properti
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.
Mendapatkan nilai yang menunjukkan apakah antrean hanya menerima transaksi.
public:
property bool Transactional { bool get(); };
[System.Messaging.MessagingDescription("MQ_Transactional")]
public bool Transactional { get; }
[<System.Messaging.MessagingDescription("MQ_Transactional")>]
member this.Transactional : bool
Public ReadOnly Property Transactional As Boolean
Nilai Properti
true
jika antrean hanya menerima pesan yang dikirim sebagai bagian dari transaksi; jika tidak, false
.
- Atribut
Pengecualian
Terjadi kesalahan saat mengakses metode Antrean Pesan.
Contoh
Contoh kode berikut menampilkan nilai properti antrean Transactional pesan.
// Display the value of the queue's Transactional property.
Console.WriteLine("MessageQueue.Transactional: {0}",
queue.Transactional);
Keterangan
Pesan transaksional mengacu pada koupling beberapa pesan terkait ke dalam satu transaksi. Mengirim pesan sebagai bagian dari transaksi memastikan bahwa pesan dikirimkan secara berurutan, dikirimkan hanya sekali, dan berhasil diambil dari antrean tujuan mereka.
Jika antrean bersifat transaksi, antrean hanya menerima pesan yang dikirim sebagai bagian dari transaksi. Namun, pesan non-transaksional dapat dikirim atau diterima dari antrean transaksi lokal tanpa secara eksplisit menggunakan sintaks transaksional Begin, Commit, dan Abort . Jika pesan non-transaksional dikirim ke antrean transaksional, komponen ini membuat transaksi satu pesan untuknya, kecuali dalam kasus merujuk antrean pada komputer jarak jauh menggunakan nama format langsung. Dalam situasi ini, jika Anda tidak menentukan konteks transaksi saat mengirim pesan, pesan tidak dibuat untuk Anda dan pesan akan dikirim ke antrean dead-letter.
Jika Anda mengirim pesan non-transaksi ke antrean transaksi, Anda tidak akan dapat mengembalikan pesan jika terjadi pengecualian.
MessageQueueTransaction mengetahui alur apartemen, jadi jika status apartemen Anda adalah STA
, Anda tidak dapat menggunakan transaksi di beberapa utas. Visual Basic mengatur status utas utama ke STA
, jadi Anda harus menerapkannya MTAThreadAttribute di Main
subroutine. Jika tidak, mengirim pesan transaksi menggunakan utas lain akan memberikan MessageQueueException pengecualian. Anda menerapkan MTAThreadAttribute dengan menggunakan fragmen berikut.
<System.MTAThreadAttribute>
public sub Main()
Tabel berikut ini memperlihatkan apakah properti ini tersedia dalam berbagai mode Grup Kerja.
Mode grup kerja | Tersedia |
---|---|
Komputer lokal | Ya |
Komputer lokal dan nama format langsung | Ya |
Komputer jarak jauh | Tidak |
Komputer jarak jauh dan nama format langsung | Tidak |