IReplyChannel.TryReceiveRequest(TimeSpan, RequestContext) 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 una richiesta viene ricevuta prima della scadenza dell'intervallo di tempo specificato.
public:
bool TryReceiveRequest(TimeSpan timeout, [Runtime::InteropServices::Out] System::ServiceModel::Channels::RequestContext ^ % context);
public bool TryReceiveRequest (TimeSpan timeout, out System.ServiceModel.Channels.RequestContext context);
abstract member TryReceiveRequest : TimeSpan * RequestContext -> bool
Public Function TryReceiveRequest (timeout As TimeSpan, ByRef context As RequestContext) As Boolean
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
.
- context
- RequestContext
RequestContext ricevuto.
Restituisce
true
se viene ricevuto un messaggio di 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 TryReceiveRequest(TimeSpan timeout, out RequestContext requestContext)
{
bool result;
while (true)
{
result = this.InnerChannel.TryReceiveRequest(timeout, out requestContext);
if (!result || ProcessRequestContext(ref requestContext))
{
break;
}
}
return result;
}
Commenti
Utilizzare un metodo TryReceiveRequest(TimeSpan, RequestContext) quando è possibile bloccare il thread corrente durante l'attesa dell'arrivo di un messaggio di richiesta nella coda. Il thread è bloccato fino al timeout
specificato. Se si desidera che l'elaborazione dell'applicazione continui senza attendere, utilizzare il metodo asincrono BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object).
Note per gli implementatori
L'operazione restituisce false
se viene superato il timeout
specificato.