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á urč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ě ří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 v rámci transakce zajišťuje doručení zpráv v pořadí, doručení pouze jednou a úspěšné načtení z cílové fronty.
Pokud je fronta transakční, přijímá pouze zprávy odeslané jako součást transakce. Nicméně, non-transactional zprávy lze odeslat nebo přijímat z místní transakční fronty bez explicitní použití transakční Begin, Commita Abort syntaxe. Pokud se do transakční fronty odešle neaktuální zpráva, tato komponenta pro ni vytvoří transakci s jednou zprávou s výjimkou případu odkazování na frontu na vzdáleném počítači pomocí názvu přímého formátu. V takové situaci, pokud při odesílání zprávy nezadáte kontext transakce, jeden se pro vás nevytvoří a zpráva se odešle do fronty nedoručených zpráv.
Pokud do transakční fronty odešlete neaktuální zprávu, nebudete moct vrátit zprávu zpět v případě výjimky.
MessageQueueTransaction is threading apartment aware, so if your apartment state is STA, you cannot use the transaction in multiple threads. 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 následující MTAThreadAttribute fragment.
<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č | Ano |
| Název místního počítače a přímého formátu | Ano |
| Vzdálený počítač | Ne |
| Název vzdáleného počítače a přímého formátu | Ne |