MessageQueueTransaction 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供消息队列内部事务。
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) |
适用于
线程安全性
此类型是线程安全的。