MessageQueue.Transactional Vlastnost

Definice

Získá hodnotu, která označuje, zda fronta přijímá pouze transakce.

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

Hodnota vlastnosti

truepokud fronta přijímá pouze zprávy odeslané jako součást transakce; v opačném případě . false

Atributy

Výjimky

Při přístupu k metodě služby Řízení front zpráv došlo k chybě.

Příklady

Následující příklad kódu zobrazí hodnotu vlastnosti fronty Transactional zpráv.

// Display the value of the queue's Transactional property.
Console.WriteLine("MessageQueue.Transactional: {0}",
    queue.Transactional);

Poznámky

Transakční zasílání zpráv označuje spojení několika souvisejících zpráv do jedné transakce. Odesílání zpráv jako součást transakce zajišťuje, že se zprávy doručí v daném pořadí, doručí se jenom jednou a úspěšně se načtou z cílové fronty.

Pokud je fronta transakční, přijímá pouze zprávy, které jsou odeslány jako součást transakce. Neaktuální zprávu však lze odeslat nebo přijímat z místní fronty transakcí bez explicitního použití transakční Beginsyntaxe , Commita Abort . Pokud je do transakční fronty odeslána neaktuální zpráva, vytvoří tato komponenta pro ni transakci s jednou zprávou, s výjimkou případu odkazování na frontu ve vzdáleném počítači pomocí názvu přímého formátu. Pokud v této situaci nezadáte kontext transakce při odesílání zprávy, není vytvořen pro vás a zpráva bude odeslána do fronty nedoručených zpráv.

Pokud odešlete neakční zprávu do transakční fronty, nebudete moci vrátit zpět zprávu v případě výjimky.

MessageQueueTransaction je threading apartment aware, takže pokud je STAváš stav bytu , nemůžete transakci použít ve více vláknech. Visual Basic nastaví stav hlavního vlákna na STA, takže musíte použít MTAThreadAttribute v podprogramu Main . V opačném případě odeslání transakční zprávy pomocí jiného vlákna vyvolá MessageQueueException výjimku. Použijete MTAThreadAttribute pomocí následujícího fragmentu.

<System.MTAThreadAttribute>
 public sub Main()

Následující tabulka ukazuje, zda je tato vlastnost k dispozici v různých režimech pracovní skupiny.

Režim pracovní skupiny K dispozici.
Místní počítač Yes
Název místního počítače a přímého formátu Yes
Vzdálený počítač No
Název vzdáleného počítače a přímého formátu No

Platí pro

Viz také