IReplyChannel.BeginTryReceiveRequest(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 receber uma mensagem de solicitação que tem um tempo limite e um objeto de estado especificados associados.
public:
IAsyncResult ^ BeginTryReceiveRequest(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginTryReceiveRequest (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginTryReceiveRequest : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginTryReceiveRequest (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult
Parâmetros
- timeout
- TimeSpan
O TimeSpan que especifica quanto tempo a operação de solicitação de recebimento precisa concluir antes de atingir o tempo limite e retornar false
.
- 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 de solicitação de recebimento assíncrono.
Exemplos
O código a seguir ilustra como implementar esse método:
public IAsyncResult BeginTryReceiveRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
TryReceiveRequestAsyncResult result = new TryReceiveRequestAsyncResult(this, timeout, callback, state);
result.Begin();
return result;
}
Comentários
Use o método assíncrono BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) quando precisar que o processamento do aplicativo continue sem esperar. Use um dos métodos TryReceiveRequest(TimeSpan, RequestContext) síncronos quando for aceitável que o thread atual seja bloqueado enquanto ele responde à mensagem de solicitação ou até que o intervalo de tempo limite seja excedido.
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.