IInputChannel.BeginWaitForMessage(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 wait-for-a-message-to-arrive que tiene un tiempo de espera especificado y un objeto de estado asociado a él.
public:
IAsyncResult ^ BeginWaitForMessage(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginWaitForMessage : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginWaitForMessage (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult
Parámetros
- timeout
- TimeSpan
TimeSpan que especifica el intervalo de tiempo para esperar a que un mensaje esté disponible.
- callback
- AsyncCallback
AsyncCallback Delegado que recibe la notificación de la finalización de la operación asincrónica.
- state
- Object
Objeto, especificado por la aplicación, que contiene información de estado asociada a la operación asincrónica.
Devoluciones
que IAsyncResult hace referencia a la operación asincrónica para esperar a que llegue un mensaje.
Excepciones
El especificado timeout se supera antes de que se complete la operación.
El tiempo de espera especificado es menor que cero.
Ejemplos
En el código siguiente se muestra cómo implementar este método:
public IAsyncResult BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state)
{
return this.InnerChannel.BeginWaitForMessage(timeout, callback, state);
}
Comentarios
Use el método asincrónico BeginWaitForMessage(TimeSpan, AsyncCallback, Object) si necesita que el procesamiento de la aplicación continúe sin esperar a que llegue el mensaje. Use el método sincrónico WaitForMessage(TimeSpan) cuando sea aceptable que el subproceso actual se bloquee mientras espera a que llegue un mensaje a la cola. El subproceso está bloqueado hasta el especificado timeout.
Este método recibe una notificación, a través de una devolución de llamada, de la identidad del controlador de eventos para la operación. La operación no se completa hasta que un mensaje esté disponible en el canal o se agote el tiempo de espera.
Notas a los implementadores
La operación devuelve false si se supera el especificado timeout , no una excepción de tiempo de espera.