MessageEnumerator.RemoveCurrent 方法

定义

从队列中移除当前消息并将该消息返回给调用应用程序。 移除消息即从队列中删除该消息。

重载

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

另请参阅

适用于