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 asincrona di attesa dell'arrivo di un messaggio al quale sono associati un timeout e un oggetto di stato specificati.
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 della classe TimeSpan che indica il tempo di attesa necessario affinché un messaggio diventi disponibile.
- callback
- AsyncCallback
Delegato AsyncCallback che riceve la notifica del completamento dell'operazione asincrona.
- state
- Object
Oggetto, specificato dall'applicazione, che contiene le informazioni sullo stato associate all'operazione asincrona.
Restituisce
Interfaccia IAsyncResult che fa riferimento all'operazione asincrona per attendere l'arrivo di un messaggio.
Eccezioni
Il timeout
specificato è stato superato prima del completamento dell'operazione.
Il timeout specificato è minore di zero.
Esempio
Nell'esempio di codice seguente viene illustrato come implementare questo metodo:
public IAsyncResult BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state)
{
return this.InnerChannel.BeginWaitForMessage(timeout, callback, state);
}
Commenti
Se si desidera che l'elaborazione dell'applicazione continui senza attendere l'arrivo di un messaggio, utilizzare il metodo asincrono BeginWaitForMessage(TimeSpan, AsyncCallback, Object). Utilizzare il metodo sincrono WaitForMessage(TimeSpan) quando è possibile bloccare il thread corrente durante l'attesa dell'arrivo di un messaggio 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 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, non un'eccezione di timeout.