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

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

Berlaku untuk

Lihat juga