MessageEnumerator.RemoveCurrent 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从队列中移除当前消息并将该消息返回给调用应用程序。 移除消息即从队列中删除该消息。
重载
RemoveCurrent() |
从事务性或非事务性队列中移除当前消息,并将该消息返回给调用应用程序。 对于消息到达队列的用时没有超时指定。 |
RemoveCurrent(MessageQueueTransaction) |
从事务性队列中移除当前消息,并将该消息返回给调用应用程序。 对于消息到达队列的用时没有超时指定。 |
RemoveCurrent(MessageQueueTransactionType) |
从队列中移除当前消息并将该消息返回给调用应用程序。 对于消息到达队列的用时没有超时指定。 |
RemoveCurrent(TimeSpan) |
从队列中移除当前消息并将该消息返回给调用应用程序。 如果有要移除的消息,该方法将立即返回该消息。 否则,该方法在指定的超时内等待新消息到达。 |
RemoveCurrent(TimeSpan, MessageQueueTransaction) |
从事务性队列中移除当前消息,并将该消息返回给调用应用程序。 如果有要移除的消息,该方法将立即返回该消息。 否则,该方法在指定的超时内等待新消息到达。 |
RemoveCurrent(TimeSpan, MessageQueueTransactionType) |
从队列中移除当前消息并将该消息返回给调用应用程序。 如果有要移除的消息,该方法将立即返回该消息。 否则,该方法在指定的超时内等待新消息到达。 |
注解
仅当使用 检索实例时,MessageEnumeratorGetMessageEnumerator2为这些重载描述的行为才适用。 请勿使用 GetMessageEnumerator 检索 实例 MessageEnumerator ,因为此方法已弃用。
RemoveCurrent()
从事务性或非事务性队列中移除当前消息,并将该消息返回给调用应用程序。 对于消息到达队列的用时没有超时指定。
public:
System::Messaging::Message ^ RemoveCurrent();
public System.Messaging.Message RemoveCurrent ();
member this.RemoveCurrent : unit -> System.Messaging.Message
Public Function RemoveCurrent () As Message
返回
Message,它引用队列中可用的第一条消息。
注解
RemoveCurrent 删除并返回光标当前位置的消息。
如果使用队列日记,删除消息会导致副本保留在日记队列中,就像 类的 Receive 方法一样MessageQueue。
删除当前消息时,光标将移动到下一条消息。 无需在调用 后调用 MoveNextRemoveCurrent。
如果在事务队列上调用此重载,则消息队列将创建单个内部事务。
另请参阅
适用于
RemoveCurrent(MessageQueueTransaction)
从事务性队列中移除当前消息,并将该消息返回给调用应用程序。 对于消息到达队列的用时没有超时指定。
public:
System::Messaging::Message ^ RemoveCurrent(System::Messaging::MessageQueueTransaction ^ transaction);
public System.Messaging.Message RemoveCurrent (System.Messaging.MessageQueueTransaction transaction);
member this.RemoveCurrent : System.Messaging.MessageQueueTransaction -> System.Messaging.Message
Public Function RemoveCurrent (transaction As MessageQueueTransaction) As Message
参数
- transaction
- MessageQueueTransaction
指定从中移除消息的事务的 MessageQueueTransaction 对象。
返回
Message,它引用队列中可用的第一条消息。
例外
transaction
参数为 null
。
注解
RemoveCurrent 使用 参数定义的内部事务上下文删除并返回游标当前位置的消息 transaction
。
如果使用队列日记,删除消息会导致副本保留在日记队列中,就像 类的 Receive 方法一样MessageQueue。
使用事务队列时,事务的回滚会导致调用 RemoveCurrent 删除的任何消息返回到队列。 在提交事务之前,删除操作不会不可逆。
删除当前消息时,光标将移动到下一条消息。 无需在调用 后调用 MoveNextRemoveCurrent。
另请参阅
适用于
RemoveCurrent(MessageQueueTransactionType)
从队列中移除当前消息并将该消息返回给调用应用程序。 对于消息到达队列的用时没有超时指定。
public:
System::Messaging::Message ^ RemoveCurrent(System::Messaging::MessageQueueTransactionType transactionType);
public System.Messaging.Message RemoveCurrent (System.Messaging.MessageQueueTransactionType transactionType);
member this.RemoveCurrent : System.Messaging.MessageQueueTransactionType -> System.Messaging.Message
Public Function RemoveCurrent (transactionType As MessageQueueTransactionType) As Message
参数
- transactionType
- MessageQueueTransactionType
MessageQueueTransactionType 值之一,它描述与消息关联的事务上下文的类型。
返回
Message,它引用队列中可用的第一条消息。
例外
transactionType
参数不是 MessageQueueTransactionType 成员之一。
注解
RemoveCurrent 使用 参数定义的事务上下文删除并返回游标当前位置的消息 transactionType
。
如果已将外部事务上下文附加到要用于接收消息的线程,请为 transactionType
参数指定 Automatic
。 指定 Single
是否要以单个内部事务的形式接收消息。 可以指定 None
是否要从事务上下文之外的事务队列接收消息。
如果使用队列日记,删除消息会导致副本保留在日记队列中,就像 类的 Receive 方法一样MessageQueue。
使用事务队列时,事务的回滚会导致调用 RemoveCurrent 删除的任何消息返回到队列。 在提交事务之前,删除操作不会不可逆。
删除当前消息时,光标将移动到下一条消息。 无需在调用 后调用 MoveNextRemoveCurrent。
另请参阅
适用于
RemoveCurrent(TimeSpan)
从队列中移除当前消息并将该消息返回给调用应用程序。 如果有要移除的消息,该方法将立即返回该消息。 否则,该方法在指定的超时内等待新消息到达。
public:
System::Messaging::Message ^ RemoveCurrent(TimeSpan timeout);
public System.Messaging.Message RemoveCurrent (TimeSpan timeout);
member this.RemoveCurrent : TimeSpan -> System.Messaging.Message
Public Function RemoveCurrent (timeout As TimeSpan) As Message
参数
- timeout
- TimeSpan
等待消息到达队列的时间间隔。
返回
Message,它引用队列中可用的第一条消息。
例外
为 timeout
参数指定的值无效。
超时已过期。
注解
RemoveCurrent 删除并返回光标当前位置的消息。 如果游标位于队列的末尾,则 方法的此重载将等待消息可用或参数指定的 timeout
间隔已过期。
如果使用队列日记,删除消息会导致副本保留在日记队列中,就像 类的 Receive 方法一样MessageQueue。
删除当前消息时,光标将移动到下一条消息。 无需在调用 后调用 MoveNextRemoveCurrent。
如果在事务队列上调用此重载,则消息队列将创建单个内部事务。
另请参阅
适用于
RemoveCurrent(TimeSpan, MessageQueueTransaction)
从事务性队列中移除当前消息,并将该消息返回给调用应用程序。 如果有要移除的消息,该方法将立即返回该消息。 否则,该方法在指定的超时内等待新消息到达。
public:
System::Messaging::Message ^ RemoveCurrent(TimeSpan timeout, System::Messaging::MessageQueueTransaction ^ transaction);
public System.Messaging.Message RemoveCurrent (TimeSpan timeout, System.Messaging.MessageQueueTransaction transaction);
member this.RemoveCurrent : TimeSpan * System.Messaging.MessageQueueTransaction -> System.Messaging.Message
Public Function RemoveCurrent (timeout As TimeSpan, transaction As MessageQueueTransaction) As Message
参数
- timeout
- TimeSpan
等待消息被移除的时间间隔。
- transaction
- MessageQueueTransaction
为消息指定事务上下文的 MessageQueueTransaction 对象。
返回
Message,它引用队列中可用的第一条消息。
例外
为 timeout
参数指定的值无效。
transaction
参数为 null
。
超时已过期。
注解
RemoveCurrent 删除并返回光标当前位置的消息。 如果游标位于队列的末尾,则 方法的此重载将等待消息可用或参数指定的 timeout
间隔已过期。
使用事务队列时,事务的回滚会导致调用 RemoveCurrent 删除的任何消息返回到队列。 在提交事务之前,删除操作不会不可逆。
如果使用队列日记,删除消息会导致副本保留在日记队列中,就像 类的 Receive 方法一样MessageQueue。
删除当前消息时,光标将移动到下一条消息。 无需在调用 后调用 MoveNextRemoveCurrent。
另请参阅
适用于
RemoveCurrent(TimeSpan, MessageQueueTransactionType)
从队列中移除当前消息并将该消息返回给调用应用程序。 如果有要移除的消息,该方法将立即返回该消息。 否则,该方法在指定的超时内等待新消息到达。
public:
System::Messaging::Message ^ RemoveCurrent(TimeSpan timeout, System::Messaging::MessageQueueTransactionType transactionType);
public System.Messaging.Message RemoveCurrent (TimeSpan timeout, System.Messaging.MessageQueueTransactionType transactionType);
member this.RemoveCurrent : TimeSpan * System.Messaging.MessageQueueTransactionType -> System.Messaging.Message
Public Function RemoveCurrent (timeout As TimeSpan, transactionType As MessageQueueTransactionType) As Message
参数
- timeout
- TimeSpan
等待消息被移除的时间间隔。
- transactionType
- MessageQueueTransactionType
MessageQueueTransactionType 值之一,它描述与消息关联的事务上下文的类型。
返回
Message,它引用队列中可用的第一条消息。
例外
为 timeout
参数指定的值无效。
超时已过期。
transactionType
参数不是 MessageQueueTransactionType 成员之一。
注解
RemoveCurrent 使用 参数定义的事务上下文删除并返回游标当前位置的消息 transactionType
。 如果游标位于队列的末尾,则 方法的此重载将等待消息可用或参数指定的 timeout
间隔已过期。
如果已将外部事务上下文附加到要用于接收消息的线程,请为 transactionType
参数指定 Automatic
。 指定 Single
是否要以单个内部事务的形式接收消息。 可以指定 None
是否要从事务上下文之外的事务队列接收消息。
如果使用队列日记,删除消息会导致副本保留在日记队列中,就像 类的 Receive 方法一样MessageQueue。
使用事务队列时,事务的回滚会导致调用 RemoveCurrent 删除的任何消息返回到队列。 在提交事务之前,删除操作不会不可逆。
删除当前消息时,光标将移动到下一条消息。 无需在调用 后调用 MoveNextRemoveCurrent。