Bagikan melalui


MessageQueue.Transactional Properti

Definisi

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

Olahpesan transaksional mengacu pada kopling 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 pesan tunggal 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 surat mati.

Jika Anda mengirim pesan non-transaksi ke antrean transaksi, Anda tidak akan dapat mengembalikan pesan jika terjadi pengecualian.

MessageQueueTransaction mengetahui apartemen utas, jadi jika status apartemen Anda adalah STA, Anda tidak dapat menggunakan transaksi di beberapa utas. Visual Basic mengatur status utas utama ke STA, sehingga 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 Yes
Komputer lokal dan nama format langsung Yes
Komputer jarak jauh No
Komputer jarak jauh dan nama format langsung No

Berlaku untuk

Lihat juga