Partilhar via


IReplyChannel.BeginWaitForRequest(TimeSpan, AsyncCallback, Object) Método

Definição

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

IAsyncResult

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.

Aplica-se a