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.

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

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