IInputChannel.BeginWaitForMessage(TimeSpan, AsyncCallback, Object) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Inicia uma operação assíncrona para aguardar o recebimento de uma mensagem que tem um tempo limite e um objeto de estado especificados associados.
public:
IAsyncResult ^ BeginWaitForMessage(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWaitForMessage (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginWaitForMessage : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginWaitForMessage (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult
Parâmetros
- timeout
- TimeSpan
O TimeSpan especifica o intervalo de tempo durante o qual aguardar a disponibilidade de uma mensagem.
- callback
- AsyncCallback
O delegado de AsyncCallback que receberá a notificação da conclusão da operação assíncrona.
- state
- Object
Um objeto, especificado pelo aplicativo, que contém informações associadas à operação assíncrona.
Retornos
O IAsyncResult que referencia a operação assíncrona para aguardar uma mensagem chegar.
Exceções
O timeout
especificado é ultrapassado antes que a operação seja concluída.
O tempo limite especificado é menor que zero.
Exemplos
O código a seguir ilustra como implementar este método:
public IAsyncResult BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state)
{
return this.InnerChannel.BeginWaitForMessage(timeout, callback, state);
}
Comentários
Use o método assíncrono BeginWaitForMessage(TimeSpan, AsyncCallback, Object) se precisar que o processamento do aplicativo continue sem aguardar a chegada da mensagem. Use o método síncrono WaitForMessage(TimeSpan) quando for aceitável que o thread atual seja bloqueado enquanto aguarda a chegada de uma mensagem na fila. O thread é bloqueado até o especificado timeout
.
Esse método recebe notificação, por meio de um retorno de chamada, da identidade do manipulador de eventos para a operação. A operação não é concluída até que uma mensagem fique disponível no canal ou o tempo limite ocorra.
Notas aos Implementadores
A operação retornará false
se o especificado timeout
for excedido, não uma exceção de tempo limite.