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.