Partilhar via


MessageEnumerator.RemoveCurrent Método

Definição

Remove a mensagem atual da fila e retorna a mensagem para o aplicativo de chamada. Remover a mensagem a exclui da fila.

Sobrecargas

RemoveCurrent()

Remove a mensagem atual de uma fila transacional ou não transacional e retorna a mensagem para o aplicativo de chamada. Não há tempo limite especificado para que uma mensagem chegue na fila.

RemoveCurrent(MessageQueueTransaction)

Remove a mensagem atual de uma fila transacional e retorna a mensagem para o aplicativo de chamada. Não há tempo limite especificado para que uma mensagem chegue na fila.

RemoveCurrent(MessageQueueTransactionType)

Remove a mensagem atual de uma fila e retorna a mensagem para o aplicativo de chamada. Não há tempo limite especificado para que uma mensagem chegue na fila.

RemoveCurrent(TimeSpan)

Remove a mensagem atual da fila e retorna a mensagem para o aplicativo de chamada. Se houver uma mensagem a ser removida, o método a retornará imediatamente. Caso contrário, o método aguardará o tempo limite especificado para que uma nova mensagem chegue.

RemoveCurrent(TimeSpan, MessageQueueTransaction)

Remove a mensagem atual de uma fila transacional e retorna a mensagem para o aplicativo de chamada. Se houver uma mensagem a ser removida, o método a retornará imediatamente. Caso contrário, o método aguardará o tempo limite especificado para que uma nova mensagem chegue.

RemoveCurrent(TimeSpan, MessageQueueTransactionType)

Remove a mensagem atual de uma fila e retorna a mensagem para o aplicativo de chamada. Se houver uma mensagem a ser removida, o método a retornará imediatamente. Caso contrário, o método aguardará o tempo limite especificado para que uma nova mensagem chegue.

Comentários

O comportamento descrito para essas sobrecargas só será aplicável se a instância de MessageEnumerator for recuperada usando o GetMessageEnumerator2. Não use GetMessageEnumerator para recuperar uma instância de MessageEnumerator, pois esse método foi preterido.

RemoveCurrent()

Remove a mensagem atual de uma fila transacional ou não transacional e retorna a mensagem para o aplicativo de chamada. Não há tempo limite especificado para que uma mensagem chegue na fila.

public:
 System::Messaging::Message ^ RemoveCurrent();
public System.Messaging.Message RemoveCurrent ();
member this.RemoveCurrent : unit -> System.Messaging.Message
Public Function RemoveCurrent () As Message

Retornos

Um Message que faz referência à primeira mensagem disponível na fila.

Comentários

RemoveCurrent remove e retorna a mensagem no local atual do cursor.

Se você estiver usando o diário de fila, a remoção da mensagem fará com que uma cópia seja mantida na fila do diário, assim como o método Receive da classe MessageQueue faz.

Quando você remove a mensagem atual, o cursor é movido para a próxima mensagem. Você não precisa ligar para MoveNext depois de ligar para RemoveCurrent.

Se você chamar essa sobrecarga em uma fila transacional, o Enfileiramento de Mensagens criará uma única transação interna.

Confira também

Aplica-se a

RemoveCurrent(MessageQueueTransaction)

Remove a mensagem atual de uma fila transacional e retorna a mensagem para o aplicativo de chamada. Não há tempo limite especificado para que uma mensagem chegue na fila.

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

Parâmetros

transaction
MessageQueueTransaction

O objeto MessageQueueTransaction que especifica a transação na qual a mensagem será removida.

Retornos

Um Message que faz referência à primeira mensagem disponível na fila.

Exceções

O parâmetro transaction é null.

Comentários

RemoveCurrent remove e retorna a mensagem no local atual do cursor, usando o contexto de transação interno definido pelo parâmetro transaction.

Se você estiver usando o diário de fila, a remoção da mensagem fará com que uma cópia seja mantida na fila do diário, assim como o método Receive da classe MessageQueue faz.

Ao trabalhar com filas transacionais, uma reversão de uma transação faz com que todas as mensagens removidas por uma chamada RemoveCurrent sejam retornadas para a fila. A remoção não é irreversível até que a transação seja confirmada.

Quando você remove a mensagem atual, o cursor é movido para a próxima mensagem. Você não precisa ligar para MoveNext depois de ligar para RemoveCurrent.

Confira também

Aplica-se a

RemoveCurrent(MessageQueueTransactionType)

Remove a mensagem atual de uma fila e retorna a mensagem para o aplicativo de chamada. Não há tempo limite especificado para que uma mensagem chegue na fila.

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

Parâmetros

transactionType
MessageQueueTransactionType

Um dos valores MessageQueueTransactionType, descrevendo o tipo de contexto de transação a ser associado à mensagem.

Retornos

Um Message que faz referência à primeira mensagem disponível na fila.

Exceções

O parâmetro transactionType não é um dos membros MessageQueueTransactionType.

Comentários

RemoveCurrent remove e retorna a mensagem no local atual do cursor, usando um contexto de transação definido pelo parâmetro transactionType.

Especifique Automatic para o parâmetro transactionType se já houver um contexto de transação externo anexado ao thread que você deseja usar para receber a mensagem. Especifique Single se você quiser receber a mensagem como uma única transação interna. Você pode especificar None se quiser receber uma mensagem de uma fila transacional fora de um contexto de transação.

Se você estiver usando o diário de fila, a remoção da mensagem fará com que uma cópia seja mantida na fila do diário, assim como o método Receive da classe MessageQueue faz.

Ao trabalhar com filas transacionais, uma reversão de uma transação faz com que todas as mensagens removidas por uma chamada RemoveCurrent sejam retornadas para a fila. A remoção não é irreversível até que a transação seja confirmada.

Quando você remove a mensagem atual, o cursor é movido para a próxima mensagem. Você não precisa ligar para MoveNext depois de ligar para RemoveCurrent.

Confira também

Aplica-se a

RemoveCurrent(TimeSpan)

Remove a mensagem atual da fila e retorna a mensagem para o aplicativo de chamada. Se houver uma mensagem a ser removida, o método a retornará imediatamente. Caso contrário, o método aguardará o tempo limite especificado para que uma nova mensagem chegue.

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

Parâmetros

timeout
TimeSpan

O intervalo de tempo para aguardar a chegada de uma mensagem na fila.

Retornos

Um Message que faz referência à primeira mensagem disponível na fila.

Exceções

O valor especificado para o parâmetro timeout é inválido.

O tempo limite expirou.

Comentários

RemoveCurrent remove e retorna a mensagem no local atual do cursor. Se o cursor estiver no final da fila, essa sobrecarga do método aguardará até que uma mensagem esteja disponível ou o intervalo especificado pelo parâmetro timeout tenha expirado.

Se você estiver usando o diário de fila, a remoção da mensagem fará com que uma cópia seja mantida na fila do diário, assim como o método Receive da classe MessageQueue faz.

Quando você remove a mensagem atual, o cursor é movido para a próxima mensagem. Você não precisa ligar para MoveNext depois de ligar para RemoveCurrent.

Se você chamar essa sobrecarga em uma fila transacional, o Enfileiramento de Mensagens criará uma única transação interna.

Confira também

Aplica-se a

RemoveCurrent(TimeSpan, MessageQueueTransaction)

Remove a mensagem atual de uma fila transacional e retorna a mensagem para o aplicativo de chamada. Se houver uma mensagem a ser removida, o método a retornará imediatamente. Caso contrário, o método aguardará o tempo limite especificado para que uma nova mensagem chegue.

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

Parâmetros

timeout
TimeSpan

O intervalo de tempo para aguardar a remoção da mensagem.

transaction
MessageQueueTransaction

O objeto MessageQueueTransaction que especifica o contexto da transação para a mensagem.

Retornos

Um Message que faz referência à primeira mensagem disponível na fila.

Exceções

O valor especificado para o parâmetro timeout é inválido.

O parâmetro transaction é null.

O tempo limite expirou.

Comentários

RemoveCurrent remove e retorna a mensagem no local atual do cursor. Se o cursor estiver no final da fila, essa sobrecarga do método aguardará até que uma mensagem esteja disponível ou o intervalo especificado pelo parâmetro timeout tenha expirado.

Ao trabalhar com filas transacionais, uma reversão de uma transação faz com que todas as mensagens removidas por uma chamada RemoveCurrent sejam retornadas para a fila. A remoção não é irreversível até que a transação seja confirmada.

Se você estiver usando o diário de fila, a remoção da mensagem fará com que uma cópia seja mantida na fila do diário, assim como o método Receive da classe MessageQueue faz.

Quando você remove a mensagem atual, o cursor é movido para a próxima mensagem. Você não precisa ligar para MoveNext depois de ligar para RemoveCurrent.

Confira também

Aplica-se a

RemoveCurrent(TimeSpan, MessageQueueTransactionType)

Remove a mensagem atual de uma fila e retorna a mensagem para o aplicativo de chamada. Se houver uma mensagem a ser removida, o método a retornará imediatamente. Caso contrário, o método aguardará o tempo limite especificado para que uma nova mensagem chegue.

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

Parâmetros

timeout
TimeSpan

O intervalo de tempo para aguardar a remoção da mensagem.

transactionType
MessageQueueTransactionType

Um dos valores MessageQueueTransactionType, descrevendo o tipo de contexto de transação a ser associado à mensagem.

Retornos

Um Message que faz referência à primeira mensagem disponível na fila.

Exceções

O valor especificado para o parâmetro timeout é inválido.

O tempo limite expirou.

O parâmetro transactionType não é um dos membros MessageQueueTransactionType.

Comentários

RemoveCurrent remove e retorna a mensagem no local atual do cursor, usando um contexto de transação definido pelo parâmetro transactionType. Se o cursor estiver no final da fila, essa sobrecarga do método aguardará até que uma mensagem esteja disponível ou o intervalo especificado pelo parâmetro timeout tenha expirado.

Especifique Automatic para o parâmetro transactionType se já houver um contexto de transação externo anexado ao thread que você deseja usar para receber a mensagem. Especifique Single se você quiser receber a mensagem como uma única transação interna. Você pode especificar None se quiser receber uma mensagem de uma fila transacional fora de um contexto de transação.

Se você estiver usando o diário de fila, a remoção da mensagem fará com que uma cópia seja mantida na fila do diário, assim como o método Receive da classe MessageQueue faz.

Ao trabalhar com filas transacionais, uma reversão de uma transação faz com que todas as mensagens removidas por uma chamada RemoveCurrent sejam retornadas para a fila. A remoção não é irreversível até que a transação seja confirmada.

Quando você remove a mensagem atual, o cursor é movido para a próxima mensagem. Você não precisa ligar para MoveNext depois de ligar para RemoveCurrent.

Confira também

Aplica-se a