MessageQueue.Transactional Egenskap
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Hämtar ett värde som anger om kön endast accepterar transaktioner.
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
Egenskapsvärde
trueom kön endast accepterar meddelanden som skickas som en del av en transaktion; annars . false
- Attribut
Undantag
Ett fel uppstod vid åtkomst till en Message Queuing-metod.
Exempel
I följande kodexempel visas värdet för en meddelandekös Transactional egenskap.
// Display the value of the queue's Transactional property.
Console.WriteLine("MessageQueue.Transactional: {0}",
queue.Transactional);
Kommentarer
Transaktionsmeddelanden avser koppling av flera relaterade meddelanden till en enda transaktion. Genom att skicka meddelanden som en del av en transaktion ser du till att meddelandena levereras i ordning, endast levereras en gång och hämtas från målkön.
Om en kö är transaktionell accepterar den endast meddelanden som skickas som en del av en transaktion. Ett icke-transaktionsmeddelande kan dock skickas eller tas emot från en lokal transaktionskö utan att uttryckligen använda transaktionell Begin, Commitoch Abort syntax. Om ett icke-transaktionellt meddelande skickas till en transaktionskö skapar den här komponenten en transaktion med ett meddelande för den, förutom när du refererar till en kö på en fjärrdator med ett direkt formatnamn. I det här fallet, om du inte anger en transaktionskontext när du skickar ett meddelande, skapas inget åt dig och meddelandet skickas till kön med obeställbara meddelanden.
Om du skickar ett icke-transaktionellt meddelande till en transaktionskö kan du inte återställa meddelandet i händelse av ett undantag.
MessageQueueTransaction är trådning lägenhet medveten, så om din lägenhet tillstånd är STA, kan du inte använda transaktionen i flera trådar. Visual Basic anger huvudtrådens tillstånd till STA, så du måste använda MTAThreadAttribute i underrutinen Main. Annars genererar sändning av ett transaktionsmeddelande med hjälp av en annan tråd ett MessageQueueException undantag. Du använder MTAThreadAttribute följande fragment.
<System.MTAThreadAttribute>
public sub Main()
I följande tabell visas om den här egenskapen är tillgänglig i olika arbetsgruppslägen.
| Arbetsgruppsläge | Tillgängligt |
|---|---|
| Lokal dator | Yes |
| Namn på lokal dator och direktformat | Yes |
| Fjärrdator | No |
| Namn på fjärrdator och direktformat | No |