IReplyChannel.BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.