MessageQueueTransaction 类  
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供消息队列内部事务。
public ref class MessageQueueTransaction : IDisposable
	public class MessageQueueTransaction : IDisposable
	type MessageQueueTransaction = class
    interface IDisposable
	Public Class MessageQueueTransaction
Implements IDisposable
		- 继承
 - 
				MessageQueueTransaction
 
- 实现
 
注解
若要将消息作为事务的一部分发送或接收,可以使用 MessageQueueTransaction 类创建一个事务,并将其传递给 方法或MessageQueue.Receive采用 transaction 参数的方法的重载MessageQueue.Send。 作为事务的一部分发送的消息必须发送到事务队列。 必须使用指定的事务接收从事务队列接收的消息。
除了 方法之外 Receive ,还可以接收具有指定标识符或指定相关标识符的消息。 有关选择性地从事务队列接收消息的详细信息, ReceiveById 请参阅 和 ReceiveByCorrelationId 方法。
如果提交事务,则会删除发送到事务队列的消息。 同样,如果回滚事务,则从事务队列接收的消息将返回到队列。
如果实例化 并将其MessageQueueTransaction传递到 方法Receive的Send适用重载,以便将消息发送到非事务队列或接收来自非事务队列的消息,则该方法将引发异常,指示“事务使用错误”。
              MessageQueueTransaction 是线程单元感知,因此,如果单元状态为 STA,则不能在多个线程中使用事务。 Visual Basic 将main线程的状态设置为 STA,因此必须在子例程中Main应用 MTAThreadAttribute 。 否则,利用另一个线程发送事务性消息将引发 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) | 
        	
适用于
线程安全性
此类型是线程安全的。