MessageQueueTransaction 类

定义

提供消息队列内部事务。

public ref class MessageQueueTransaction : IDisposable
public class MessageQueueTransaction : IDisposable
type MessageQueueTransaction = class
    interface IDisposable
Public Class MessageQueueTransaction
Implements IDisposable
继承
MessageQueueTransaction
实现

注解

若要将消息作为事务的一部分发送或接收,可以使用MessageQueueTransaction类创建事务并将其传递给采用transaction参数的方法或MessageQueue.Receive方法的MessageQueue.Send重载。 作为事务的一部分发送的消息必须发送到事务队列。 必须使用指定的事务接收从事务队列接收的消息。

除了 Receive 该方法,还可以接收具有指定标识符或指定关联标识符的消息。 有关选择性地从事务队列接收消息的详细信息,请参阅和ReceiveByIdReceiveByCorrelationId方法。

如果提交事务,则会删除发送到事务队列的消息。 同样,如果回滚事务,则从事务队列接收的消息将返回到队列。

如果实例化MessageQueueTransaction方法并将其传递给方法的适用重载SendReceive,以便将消息发送到非事务队列或从非事务队列接收消息,该方法将引发指示“事务使用错误”的异常。

MessageQueueTransaction 线程单元感知,因此,如果单元状态为 STA,则不能在多个线程中使用事务。 Visual Basic 将主线程的状态设置为STA,因此必须在子例程中MTAThreadAttribute应用Main该状态。 否则,使用另一个线程发送事务性消息将 MessageQueueException 引发异常。 使用以下片段应用 MTAThreadAttribute 该代码片段。

<System.MTAThreadAttribute>
 public sub Main()

构造函数

名称 说明
MessageQueueTransaction()

初始化 MessageQueueTransaction 类的新实例。

属性

名称 说明
Status

获取事务的状态。

方法

名称 说明
Abort()

回滚挂起的内部事务。

Begin()

开始新的消息队列内部事务。

Commit()

提交挂起的内部事务。

Dispose()

释放该 MessageQueueTransaction命令使用的所有资源。

Dispose(Boolean)

释放由托管资源使用 MessageQueueTransaction 的非托管资源,并选择性地释放托管资源。

Equals(Object)

确定指定的对象是否等于当前对象。

(继承自 Object)
Finalize()

释放当前实例持有的资源。

GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object的浅表副本。

(继承自 Object)
ToString()

返回一个表示当前对象的字符串。

(继承自 Object)

适用于

线程安全性

此类型是线程安全的。

另请参阅