Condividi tramite


IReplyChannel.BeginWaitForRequest(TimeSpan, AsyncCallback, Object) Metodo

Definizione

Avvia un'operazione di richiesta asincrona con un timeout e un oggetto di stato associato specificati.

public:
 IAsyncResult ^ BeginWaitForRequest(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWaitForRequest (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginWaitForRequest : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginWaitForRequest (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

Parametri

timeout
TimeSpan

TimeSpan indica il tempo di attesa necessario per la ricezione di una richiesta disponibile.

callback
AsyncCallback

Delegato AsyncCallback che riceve la notifica della ricezione asincrona riguardante il completamento di un'operazione di richiesta.

state
Object

Oggetto, specificato dall'applicazione, che contiene le informazioni di stato associate alla ricezione asincrona di un’operazione di richiesta.

Restituisce

IAsyncResult

Interfaccia IAsyncResult che fa riferimento all'operazione asincrona per attendere l'arrivo di un messaggio di richiesta.

Esempio

Nell'esempio di codice seguente viene illustrato come implementare questo metodo:

public IAsyncResult BeginWaitForRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
    return this.InnerChannel.BeginWaitForRequest(timeout, callback, state);
}

Commenti

Utilizzare un metodo asincrono WaitForRequest(TimeSpan) quando è possibile bloccare il thread corrente durante l'attesa dell'arrivo di un messaggio di richiesta nella coda. Il thread è bloccato fino al timeout specificato.

Questo metodo riceve mediante un callback la notifica dell'identità del gestore eventi relativa all'operazione. L'operazione non è completa fino a quando un messaggio di richiesta non viene reso disponibile nel canale o non si verifica il timeout.

Note per gli implementatori

L'operazione restituisce false se viene superato il timeout specificato.

Si applica a