IReplyChannel.BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) Metodo

Definizione

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

IAsyncResult

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.

Si applica a