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