IReplyChannel.WaitForRequest(TimeSpan) Método

Definición

Devuelve un valor que indica si se recibe un mensaje de solicitud antes de que transcurre un intervalo de tiempo especificado.

public:
 bool WaitForRequest(TimeSpan timeout);
public bool WaitForRequest(TimeSpan timeout);
abstract member WaitForRequest : TimeSpan -> bool
Public Function WaitForRequest (timeout As TimeSpan) As Boolean

Parámetros

timeout
TimeSpan

TimeSpan que especifica cuánto tiempo debe completar una operación de solicitud antes de agotar el tiempo de espera y devolver false.

Devoluciones

true si se recibe una solicitud antes de que transcurre el intervalo de tiempo especificado; de lo contrario false, es .

Ejemplos

En el código siguiente se muestra cómo implementar este método:

public bool WaitForRequest(TimeSpan timeout)
{
    return this.InnerChannel.WaitForRequest(timeout);
}

Comentarios

La llamada WaitForRequest(TimeSpan) no da lugar a que se reciba o procese un mensaje de solicitud de ninguna manera.

El BeginWaitForRequest(TimeSpan, AsyncCallback, Object) método existe principalmente para escenarios transaccionados en los que el usuario quiere recibir el mensaje mediante una transacción. Cuando se usa normalmente ReceiveRequest para esto, el usuario debe crear la transacción y, a continuación, llamar ReceiveRequest a y esperar que el mensaje llegue antes de que se agote el tiempo de espera de la transacción, lo que puede que no sea posible.

En su lugar, el usuario puede llamar WaitForRequest(TimeSpan) a y especificar el tiempo de espera (incluso infinito), luego cuando llega un mensaje puede abrir la transacción, llamar ReceiveRequest y estar seguro de que puede recuperar el mensaje antes de que expire la transacción.

Use WaitForRequest(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. Si necesita que el procesamiento de la aplicación continúe sin esperar, use el método asincrónico BeginWaitForRequest(TimeSpan, AsyncCallback, Object) .

Notas a los implementadores

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

Se aplica a