IInputChannel.BeginReceive 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 ricezione asincrona.
Overload
| Nome | Descrizione |
|---|---|
| BeginReceive(AsyncCallback, Object) |
Avvia un'operazione asincrona per ricevere un messaggio a cui è associato un oggetto stato. |
| BeginReceive(TimeSpan, AsyncCallback, Object) |
Avvia un'operazione asincrona per ricevere un messaggio con un timeout specificato e un oggetto di stato associato. |
Commenti
Usare il metodo asincrono BeginReceive quando si desidera che l'elaborazione dell'applicazione continui senza attendere la ricezione della richiesta. Usare il metodo sincrono Receive quando è accettabile che il thread corrente venga bloccato fino a quando non viene ricevuto il messaggio di richiesta o l'intervallo di tempo specificato da timeout è stato superato. L'operazione asincrona è disponibile con o senza timeout esplicito.
BeginReceive(AsyncCallback, Object)
- Origine:
- IInputChannel.cs
- Origine:
- IInputChannel.cs
- Origine:
- IInputChannel.cs
Avvia un'operazione asincrona per ricevere un messaggio a cui è associato un oggetto stato.
public:
IAsyncResult ^ BeginReceive(AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive(AsyncCallback callback, object state);
abstract member BeginReceive : AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (callback As AsyncCallback, state As Object) As IAsyncResult
Parametri
- 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 alla ricezione asincrona dei messaggi.
Esempio
Il codice seguente illustra come implementare questo metodo:
public IAsyncResult BeginReceive(AsyncCallback callback, object state)
{
return BeginReceive(DefaultReceiveTimeout, callback, state);
}
Commenti
Usare il metodo asincrono BeginReceive quando si desidera che l'elaborazione dell'applicazione continui senza attendere la ricezione della richiesta. Usare il metodo sincrono Receive quando è accettabile che il thread corrente venga bloccato fino a quando non viene ricevuto il messaggio di richiesta o l'intervallo di tempo specificato da timeout è stato superato. L'operazione asincrona è disponibile con o senza timeout esplicito.
Questo metodo riceve una notifica, tramite un callback, dell'identità del gestore eventi per l'operazione. L'operazione non viene completata fino a quando un messaggio non diventa disponibile nel canale.
Si applica a
BeginReceive(TimeSpan, AsyncCallback, Object)
- Origine:
- IInputChannel.cs
- Origine:
- IInputChannel.cs
- Origine:
- IInputChannel.cs
Avvia un'operazione asincrona per ricevere un messaggio con un timeout specificato e un oggetto di stato associato.
public:
IAsyncResult ^ BeginReceive(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive(TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginReceive : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (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 di ricezione asincrona.
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 BeginReceive(TimeSpan timeout, AsyncCallback callback, object state)
{
ReceiveAsyncResult<TChannel> result = new ReceiveAsyncResult<TChannel>(this, timeout, callback, state);
result.Begin();
return result;
}
Commenti
Usare il metodo asincrono BeginReceive quando si desidera che l'elaborazione dell'applicazione continui senza attendere la ricezione della richiesta. Usare il metodo sincrono Receive quando è accettabile che il thread corrente venga bloccato fino a quando non viene ricevuto il messaggio di richiesta o l'intervallo di tempo specificato da timeout è stato superato. L'operazione asincrona è disponibile con o senza timeout esplicito.
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 genera un'eccezione TimeoutException se l'oggetto specificato timeout viene superato prima del completamento.