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

Definição

Inicia uma operação de solicitação assíncrona que tem um tempo limite especificado e um objeto de estado associado a ele.

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 para aguardar a recepção de uma solicitação disponível.

callback
AsyncCallback

O AsyncCallback delegado que recebe a notificação do recebimento assíncrono de que uma operação de solicitação é concluída.

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 faz referência à operação assíncrona para aguardar a chegada de uma mensagem de solicitação.

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 uma notificação, por meio de um retorno de chamada, da identidade do manipulador de eventos da 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