MessageQueueTransaction Klasa

Definicja

Udostępnia transakcję wewnętrzną kolejkowania komunikatów.

public ref class MessageQueueTransaction : IDisposable
public class MessageQueueTransaction : IDisposable
type MessageQueueTransaction = class
    interface IDisposable
Public Class MessageQueueTransaction
Implements IDisposable
Dziedziczenie
MessageQueueTransaction
Implementuje

Uwagi

Aby wysłać lub odebrać komunikat w ramach transakcji, można użyć MessageQueueTransaction klasy , aby utworzyć transakcję i przekazać ją do przeciążenia MessageQueue.Send metody lub MessageQueue.Receive metody, która przyjmuje transaction parametr. Komunikaty wysyłane w ramach transakcji muszą być wysyłane do kolejek transakcyjnych. Komunikaty odebrane z kolejek transakcyjnych muszą być odbierane przy użyciu określonej transakcji.

Oprócz Receive metody można odbierać komunikaty z określonym identyfikatorem lub określonym identyfikatorem korelacji. Zobacz metody ReceiveById i ReceiveByCorrelationId , aby uzyskać więcej informacji na temat selektywnego odbierania komunikatów z kolejek transakcyjnych.

Komunikaty wysyłane do kolejek transakcyjnych są usuwane, jeśli transakcja zostanie zatwierdzona. Podobnie komunikaty odebrane z kolejek transakcyjnych są zwracane do kolejki, jeśli transakcja zostanie wycofana.

W przypadku utworzenia wystąpienia MessageQueueTransaction elementu i przekazania go do odpowiedniego Send przeciążenia metody lub Receive metody w celu wysłania komunikatu do kolejki nie transakcyjnej lub odebrania komunikatu z kolejki nie transakcyjnej metoda zgłasza wyjątek wskazujący "Nieprawidłowe użycie transakcji".

MessageQueueTransaction program obsługuje wątki mieszkania, więc jeśli stan mieszkania to STA, nie można użyć transakcji w wielu wątkach. Visual Basic ustawia stan głównego wątku na STA, więc należy zastosować element MTAThreadAttribute w podproceducji Main . W przeciwnym razie wysłanie komunikatu transakcyjnego przy użyciu innego wątku zgłasza MessageQueueException wyjątek. Zastosuj ten element MTAThreadAttribute przy użyciu następującego fragmentu.

<System.MTAThreadAttribute>  
 public sub Main()  

Konstruktory

MessageQueueTransaction()

Inicjuje nowe wystąpienie klasy MessageQueueTransaction.

Właściwości

Status

Pobiera stan transakcji.

Metody

Abort()

Cofa oczekującą transakcję wewnętrzną.

Begin()

Rozpoczyna nową transakcję wewnętrzną kolejkowania komunikatów.

Commit()

Zatwierdza oczekującą transakcję wewnętrzną.

Dispose()

Zwalnia wszelkie zasoby używane przez element MessageQueueTransaction.

Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element MessageQueueTransaction i opcjonalnie zwalnia zasoby zarządzane.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
Finalize()

Zwalnia zasoby blokowane przez bieżące wystąpienie.

GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Bezpieczeństwo wątkowe

Ten typ jest bezpieczny wątkowo.

Zobacz też