IInputChannel.BeginWaitForMessage(TimeSpan, AsyncCallback, Object) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Avvia un'operazione di attesa asincrona per l'arrivo di un messaggio con un timeout specificato e un oggetto di stato associato.
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
Parametri
- timeout
- TimeSpan
Oggetto TimeSpan che specifica l'intervallo di tempo di attesa per la disponibilità di un messaggio.
- callback
- AsyncCallback
Delegato AsyncCallback che riceve la notifica del completamento dell'operazione asincrona.
- state
- Object
Oggetto, specificato dall'applicazione, che contiene informazioni sullo stato associate all'operazione asincrona.
Valori restituiti
Oggetto IAsyncResult che fa riferimento all'operazione asincrona per attendere l'arrivo di un messaggio.
Eccezioni
L'oggetto specificato timeout viene superato prima del completamento dell'operazione.
Il timeout specificato è minore di zero.
Esempio
Il codice seguente illustra come implementare questo metodo:
public IAsyncResult BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state)
{
return this.InnerChannel.BeginWaitForMessage(timeout, callback, state);
}
Commenti
Usare il metodo asincrono BeginWaitForMessage(TimeSpan, AsyncCallback, Object) se è necessario che l'elaborazione dell'applicazione continui senza attendere l'arrivo del messaggio. Usare il metodo sincrono WaitForMessage(TimeSpan) quando è accettabile che il thread corrente venga bloccato mentre attende l'arrivo di un messaggio nella coda. Il thread viene bloccato fino all'oggetto specificato timeout.
Questo metodo riceve una notifica, tramite un callback, dell'identità del gestore eventi per l'operazione. L'operazione non viene completata fino a quando non viene reso disponibile un messaggio nel canale o si verifica il timeout.
Note per gli implementatori
L'operazione restituisce false se l'oggetto specificato timeout viene superato, non un'eccezione di timeout.