IReplyChannel.BeginTryReceiveRequest(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 ricezione asincrona per ricevere un messaggio di richiesta con un timeout e un oggetto di stato associato specificati.
public:
IAsyncResult ^ BeginTryReceiveRequest(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginTryReceiveRequest (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginTryReceiveRequest : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginTryReceiveRequest (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult
Parametri
- timeout
- TimeSpan
TimeSpan specifica il tempo entro il quale l'operazione di ricezione di una richiesta deve essere completata, prima di scadere e restituire false
.
- 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
Interfaccia IAsyncResult che fa riferimento all'operazione asincrona di richiesta di ricezione.
Esempio
Nell'esempio di codice seguente viene illustrato come implementare questo metodo:
public IAsyncResult BeginTryReceiveRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
TryReceiveRequestAsyncResult result = new TryReceiveRequestAsyncResult(this, timeout, callback, state);
result.Begin();
return result;
}
Commenti
Se si desidera che l'elaborazione dell'applicazione continui senza attendere, utilizzare il metodo asincrono BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object). Nei casi in cui è ammissibile che il thread corrente resti bloccato mentre risponde al messaggio di richiesta o fino al termine dell'intervallo di tempo indicato, utilizzare uno dei metodi sincroni TryReceiveRequest(TimeSpan, RequestContext)
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.