IInputChannel.BeginWaitForMessage(TimeSpan, AsyncCallback, Object) Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Inicia uma operação assíncrona de espera por uma mensagem chegar, que tem um tempo de expiração 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 que especifica o intervalo de tempo para esperar que uma mensagem se torne disponível.
- callback
- AsyncCallback
O AsyncCallback delegado que recebe a notificação da conclusão da operação assíncrona.
- state
- Object
Um objeto, especificado pela aplicação, que contém informação de estado associada à operação assíncrona.
Devoluções
O IAsyncResult que faz referência à operação assíncrona para esperar que uma mensagem chegue.
Exceções
O especificado timeout é ultrapassado antes da operação ser concluída.
O tempo de espera especificado é inferior a zero.
Exemplos
O seguinte código ilustra como implementar este método:
public IAsyncResult BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state)
{
return this.InnerChannel.BeginWaitForMessage(timeout, callback, state);
}
Observações
Use o método assíncrono BeginWaitForMessage(TimeSpan, AsyncCallback, Object) se precisar que o processamento da aplicação continue sem esperar que a mensagem chegue. Use o método síncrono WaitForMessage(TimeSpan) quando for aceitável que a thread atual seja bloqueada enquanto espera que uma mensagem chegue à fila. A thread é bloqueada até ao especificado timeout.
Este método recebe notificação, através de um callback, da identidade do gestor de eventos da operação. A operação não está concluída até que uma mensagem esteja disponível no canal ou ocorra o timeout.
Notas para Implementadores
A operação retorna false se o especificado timeout for ultrapassado, não uma exceção de timeout.