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á nenhum tempo limite especificado para uma mensagem chegar na fila.

RemoveCurrent(MessageQueueTransaction)

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

RemoveCurrent(MessageQueueTransactionType)

Remove a mensagem atual de uma fila e retorna a mensagem ao aplicativo de chamada. Não há nenhum tempo limite especificado para uma mensagem chegar 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 ao 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 ao 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 será aplicável somente se a MessageEnumerator instância for recuperada usando o GetMessageEnumerator2. Não use GetMessageEnumerator para recuperar uma instância do 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á nenhum tempo limite especificado para uma mensagem chegar 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

Uma 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 registro em diário de fila, remover a mensagem fará com que uma cópia seja mantida na fila do diário, assim como o MessageQueue método da Receive classe.

Quando você remove a mensagem atual, o cursor é movido para a próxima mensagem. Você não precisa ligar MoveNext depois de chamar 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 ao aplicativo de chamada. Não há nenhum tempo limite especificado para uma mensagem chegar 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

Uma 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 transaction parâmetro .

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

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 MoveNext depois de chamar RemoveCurrent.

Confira também

Aplica-se a

RemoveCurrent(MessageQueueTransactionType)

Remove a mensagem atual de uma fila e retorna a mensagem ao aplicativo de chamada. Não há nenhum tempo limite especificado para uma mensagem chegar 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 de MessageQueueTransactionType, que descreve o tipo de contexto de transação associado à mensagem.

Retornos

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

Exceções

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

Comentários

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

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

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

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 MoveNext depois de chamar 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 a esperar uma mensagem chegar na fila.

Retornos

Uma 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 timeout parâmetro expirou.

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

Quando você remove a mensagem atual, o cursor é movido para a próxima mensagem. Você não precisa ligar MoveNext depois de chamar 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 ao 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 de espera para a mensagem ser removida.

transaction
MessageQueueTransaction

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

Retornos

Uma 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 timeout parâmetro expirou.

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 registro em diário de fila, remover a mensagem fará com que uma cópia seja mantida na fila do diário, assim como o MessageQueue método da Receive classe.

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

Confira também

Aplica-se a

RemoveCurrent(TimeSpan, MessageQueueTransactionType)

Remove a mensagem atual de uma fila e retorna a mensagem ao 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 de espera para a mensagem ser removida.

transactionType
MessageQueueTransactionType

Um dos valores de MessageQueueTransactionType, que descreve o tipo de contexto de transação associado à mensagem.

Retornos

Uma 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 do MessageQueueTransactionType.

Comentários

RemoveCurrent remove e retorna a mensagem no local atual do cursor, usando um contexto de transação definido pelo transactionType parâmetro . 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 timeout parâmetro tenha expirado.

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

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

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 chamar MoveNext depois de chamar RemoveCurrent.

Confira também

Aplica-se a