Share via


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

Definición

Comienza una operación asincrónica para recibir un mensaje de solicitud que tiene un tiempo de espera especificado y un objeto de estados asociados a él.

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

TimeSpan que especifica cuánto tiempo tiene una operación de solicitud de recepción antes de expirar y devolver false.

callback
AsyncCallback

El delegado AsyncCallback que recibe la notificación de la recepción asincrónica que completa una operación de solicitud.

state
Object

Un objeto, especificado por la aplicación, que contiene información de estado asociada a la recepción asincrónica de una operación de solicitud.

Devoluciones

IAsyncResult que hace referencia a la operación asincrónica de una solicitud de recepción.

Ejemplos

El código siguiente muestra cómo implementar este método:

public IAsyncResult BeginTryReceiveRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
    TryReceiveRequestAsyncResult result = new TryReceiveRequestAsyncResult(this, timeout, callback, state);
    result.Begin();
    return result;
}

Comentarios

Si es necesario que la aplicación siga realizando sus procesos sin esperar, hay que utilizar el método asincrónico BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object). Utilice uno de los métodos TryReceiveRequest(TimeSpan, RequestContext) sincrónicos cuando sea aceptable bloquear el subproceso actual mientras este responde al mensaje de solicitud o hasta que se supere el intervalo del tiempo de espera.

Este método recibe una notificación, mediante una devolución de llamada, de la identidad del controlador de eventos de la operación. La operación no se completa hasta que haya un mensaje disponible en el canal o se agote el tiempo de espera.

Notas a los implementadores

La operación devuelve false si se supera el timeout especificado.

Se aplica a