MessageEnumerator.RemoveCurrent Метод

Определение

Удаляет текущее сообщение из очереди и возвращает сообщение в вызывающее приложение. При удалении сообщения оно стирается из очереди.

Перегрузки

RemoveCurrent()

Удаляет текущее сообщение из транзакционной или нетранзакционной очереди и возвращает сообщение в вызывающее приложение. Не указано время тайм-аута для прибытия сообщения в очередь.

RemoveCurrent(MessageQueueTransaction)

Удаляет текущее сообщение из транзакционной очереди и возвращает сообщение в вызывающее приложение. Не указано время тайм-аута для прибытия сообщения в очередь.

RemoveCurrent(MessageQueueTransactionType)

Удаляет текущее сообщение из очереди и возвращает сообщение в вызывающее приложение. Не указано время тайм-аута для прибытия сообщения в очередь.

RemoveCurrent(TimeSpan)

Удаляет текущее сообщение из очереди и возвращает сообщение в вызывающее приложение. Если имеется сообщение для удаления, этот метод возвращает его немедленно. В противном случае метод ожидает прихода нового сообщения в течение заданного времени тайм-аута.

RemoveCurrent(TimeSpan, MessageQueueTransaction)

Удаляет текущее сообщение из транзакционной очереди и возвращает сообщение в вызывающее приложение. Если имеется сообщение для удаления, этот метод возвращает его немедленно. В противном случае метод ожидает прихода нового сообщения в течение заданного времени тайм-аута.

RemoveCurrent(TimeSpan, MessageQueueTransactionType)

Удаляет текущее сообщение из очереди и возвращает сообщение в вызывающее приложение. Если имеется сообщение для удаления, этот метод возвращает его немедленно. В противном случае метод ожидает прихода нового сообщения в течение заданного времени тайм-аута.

Комментарии

Поведение, описанное для этих перегрузок, применимо только в MessageEnumerator том случае, если экземпляр извлекается с помощью GetMessageEnumerator2. Не используйте для 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 это делает метод класса.

При удалении текущего сообщения курсор перемещается к следующему сообщению. Вам не нужно звонить MoveNext после вызова RemoveCurrent.

При вызове этой перегрузки в очереди транзакций очередь сообщений создает одну внутреннюю транзакцию.

См. также раздел

Применяется к

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 тому, что все сообщения, удаленные вызовом , возвращаются в очередь. Удаление не является необратимым, пока транзакция не будет зафиксирована.

При удалении текущего сообщения курсор перемещается к следующему сообщению. Вам не нужно звонить MoveNext после вызова RemoveCurrent.

См. также раздел

Применяется к

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 .

Укажите Automatic для transactionType параметра , если к потоку, который вы хотите использовать для получения сообщения, уже подключен внешний контекст транзакции. Укажите Single , нужно ли получать сообщение как одну внутреннюю транзакцию. Вы можете указать None , нужно ли получать сообщение из очереди транзакций за пределами контекста транзакции.

Если вы используете ведение журнала в очереди, удаление сообщения приведет к тому, что копия будет сохранена Receive в очереди журнала, как MessageQueue это делает метод класса.

При работе с транзакционной очередью откат транзакции приводит к RemoveCurrent тому, что все сообщения, удаленные вызовом , возвращаются в очередь. Удаление не является необратимым, пока транзакция не будет зафиксирована.

При удалении текущего сообщения курсор перемещается к следующему сообщению. Вам не нужно звонить MoveNext после вызова RemoveCurrent.

См. также раздел

Применяется к

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 это делает метод класса.

При удалении текущего сообщения курсор перемещается к следующему сообщению. Вам не нужно звонить MoveNext после вызова RemoveCurrent.

При вызове этой перегрузки в очереди транзакций очередь сообщений создает одну внутреннюю транзакцию.

См. также раздел

Применяется к

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 это делает метод класса.

При удалении текущего сообщения курсор перемещается к следующему сообщению. Вам не нужно звонить MoveNext после вызова RemoveCurrent.

См. также раздел

Применяется к

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 параметром.

Укажите Automatic для transactionType параметра , если к потоку уже подключен внешний контекст транзакции, который вы хотите использовать для получения сообщения. Укажите Single , нужно ли получать сообщение в виде одной внутренней транзакции. Вы можете указать None , хотите ли вы получать сообщение из очереди транзакций вне контекста транзакции.

Если вы используете ведение журнала очереди, удаление сообщения приведет к тому, что копия будет храниться в очереди журнала так же, как MessageQueue это делает метод класса Receive .

При работе с транзакционной очередью откат транзакции приводит к RemoveCurrent возврату в очередь всех сообщений, удаленных вызовом. Удаление не является необратимым, пока транзакция не будет зафиксирована.

При удалении текущего сообщения курсор перемещается к следующему сообщению. Вам не нужно вызывать MoveNext после вызова RemoveCurrent.

См. также раздел

Применяется к