Sdílet prostřednictvím


MessageQueue.Transactional Vlastnost

Definice

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

Platí pro

Viz také