IReplyChannel.WaitForRequest(TimeSpan) 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.
Restituisce un valore che indica se un messaggio di richiesta viene ricevuto prima della scadenza dell'intervallo di tempo specificato.
public:
bool WaitForRequest(TimeSpan timeout);
public bool WaitForRequest (TimeSpan timeout);
abstract member WaitForRequest : TimeSpan -> bool
Public Function WaitForRequest (timeout As TimeSpan) As Boolean
Parametri
- timeout
- TimeSpan
TimeSpan specifica il tempo entro il quale un'operazione di richiesta deve essere completata, prima di scadere e restituire false
.
Restituisce
true
se viene ricevuta una richiesta prima della scadenza dell'intervallo di tempo specificato; in caso contrario false
.
Esempio
Nell'esempio di codice seguente viene illustrato come implementare questo metodo:
public bool WaitForRequest(TimeSpan timeout)
{
return this.InnerChannel.WaitForRequest(timeout);
}
Commenti
La chiamata a WaitForRequest(TimeSpan) non genera un messaggio di richiesta ricevuto o elaborato in qualsiasi modalità.
Il metodo BeginWaitForRequest(TimeSpan, AsyncCallback, Object) esiste principalmente per gli scenari di transazione in cui l'utente desidera ricevere il messaggio utilizzando una transazione. In caso del semplice utilizzo di ReceiveRequest, l'utente deve creare la transazione e quindi chiamare ReceiveRequest e sperare che il messaggio arrivi prima del timeout della transazione, il che potrebbe non avvenire.
In alternativa, l'utente può chiamare WaitForRequest(TimeSpan) e specificare il timeout (anche infinito), quindi all'arrivo di un messaggio, può aprire la transazione, chiamare ReceiveRequest e avere la certezza di riavere il messaggio prima che la transazione scada.
Utilizzare il metodo WaitForRequest(TimeSpan) quando è possibile bloccare il thread corrente durante l'attesa dell'arrivo di un messaggio nella coda. Il thread è bloccato fino al timeout
specificato. Se si desidera che l'elaborazione dell'applicazione continui senza attendere, utilizzare il metodo asincrono BeginWaitForRequest(TimeSpan, AsyncCallback, Object).
Note per gli implementatori
L'operazione restituisce false
se viene superato il timeout
specificato.