Teilen über


MessageQueueTransaction Klasse

Definition

Stellt eine interne Message Queuing-Transaktion bereit.

public ref class MessageQueueTransaction : IDisposable
public class MessageQueueTransaction : IDisposable
type MessageQueueTransaction = class
    interface IDisposable
Public Class MessageQueueTransaction
Implements IDisposable
Vererbung
MessageQueueTransaction
Implementiert

Hinweise

Um eine Nachricht als Teil einer Transaktion zu senden oder zu empfangen, können Sie die MessageQueueTransaction -Klasse verwenden, um eine Transaktion zu erstellen und sie an eine Überladung der MessageQueue.Send -Methode oder der -Methode zu übergeben, die MessageQueue.Receive einen transaction Parameter akzeptiert. Nachrichten, die als Teil einer Transaktion gesendet werden, müssen an Transaktionswarteschlangen gesendet werden. Nachrichten, die von Transaktionswarteschlangen empfangen werden, müssen mithilfe einer angegebenen Transaktion empfangen werden.

Zusätzlich zur Receive -Methode können Sie Nachrichten mit einem angegebenen Bezeichner oder einem angegebenen Korrelationsbezeichner empfangen. Weitere Informationen zum selektiven Empfangen von Nachrichten aus Transaktionswarteschlangen finden Sie in den ReceiveById Methoden und ReceiveByCorrelationId .

Nachrichten, die an Transaktionswarteschlangen gesendet werden, werden entfernt, wenn die Transaktion zugesagt wird. Auf ähnliche Weise werden Nachrichten, die von Transaktionswarteschlangen empfangen werden, an die Warteschlange zurückgegeben, wenn ein Rollback für die Transaktion ausgeführt wird.

Wenn Sie ein MessageQueueTransaction instanziieren und an eine entsprechende Überladung der Send -Methode oder Receive -Methode übergeben, um eine Nachricht an eine nicht transaktionale Warteschlange zu senden oder eine Nachricht von einer nicht transaktionalen Warteschlange zu empfangen, löst die Methode eine Ausnahme aus, die auf "Falsche Transaktionsverwendung" hinweist.

MessageQueueTransaction ist threading apartment-fähig. Wenn Ihr Apartmentstatus also lautet STA, können Sie die Transaktion nicht in mehreren Threads verwenden. Visual Basic legt den Zustand des Standard Threads auf festSTA, sodass Sie den MTAThreadAttribute in der Main Unterroutine anwenden müssen. Andernfalls wird durch das Senden einer Transaktionsmeldung mithilfe eines anderen Threads eine MessageQueueException-Ausnahme ausgelöst. Verwenden Sie das MTAThreadAttribute folgende Fragment.

<System.MTAThreadAttribute>  
 public sub Main()  

Konstruktoren

MessageQueueTransaction()

Initialisiert eine neue Instanz der MessageQueueTransaction-Klasse.

Eigenschaften

Status

Ruft den Status der Transaktion ab.

Methoden

Abort()

Führt einen Rollback der anstehenden internen Transaktion aus.

Begin()

Beginnt eine neue interne Message Queuing-Transaktion.

Commit()

Führt einen Commit für eine anstehende interne Transaktion aus.

Dispose()

Gibt alle vom MessageQueueTransaction verwendeten Ressourcen frei.

Dispose(Boolean)

Gibt die von MessageQueueTransaction verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
Finalize()

Gibt die von der aktuellen Instanz reservierten Ressourcen frei.

GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Threadsicherheit

Dieser Typ ist threadsicher.

Weitere Informationen