MessageQueue.Transactional Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
true
pokud 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 STA
váš 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 |