IReplyChannel.BeginWaitForRequest(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 de solicitação assíncrona que tem um tempo limite e um objeto de estado especificados associados.
public:
IAsyncResult ^ BeginWaitForRequest(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWaitForRequest (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginWaitForRequest : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginWaitForRequest (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult
Parâmetros
- timeout
- TimeSpan
O TimeSpan que especifica o intervalo de tempo de espera para o recebimento de uma solicitação disponível.
- callback
- AsyncCallback
O representante de AsyncCallback que recebe a notificação do recebimento assíncrono que uma operação de solicitação conclui.
- state
- Object
Um objeto, especificado pelo aplicativo, que contém informações de estado associadas ao recebimento assíncrono de uma operação de solicitação.
Retornos
O IAsyncResult que referencia a operação assíncrona para esperar uma mensagem de solicitação chegar.
Exemplos
O código a seguir ilustra como implementar este método:
public IAsyncResult BeginWaitForRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
return this.InnerChannel.BeginWaitForRequest(timeout, callback, state);
}
Comentários
Use o método síncrono WaitForRequest(TimeSpan) quando for aceitável que o thread atual seja bloqueado enquanto aguarda a chegada de uma mensagem de solicitação 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 será concluída até que uma mensagem de solicitação fique disponível no canal ou o tempo limite ocorra.
Notas aos Implementadores
A operação retornará false
se o especificado timeout
for excedido.