IReplyChannel.TryReceiveRequest(TimeSpan, RequestContext) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Gibt einen Wert zurück, der angibt, ob eine Anforderung vor Ablauf eines angegebenen Zeitintervalls empfangen wird.
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
Parameter
- timeout
- TimeSpan
Der TimeSpan, der angibt, wie lange der Vorgang des Empfangs einer Anforderung vor Timeout und Ausgabe von false
abgeschlossen sein muss.
- context
- RequestContext
Der empfangene RequestContext.
Gibt zurück
true
, wenn eine Anforderungsnachricht empfangen wird, bevor das angegebene Zeitintervall abgelaufen ist, andernfalls false
.
Beispiele
Im folgenden Code wird veranschaulicht, wie diese Methode implementiert wird:
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;
}
Hinweise
Verwenden Sie TryReceiveRequest(TimeSpan, RequestContext), wenn eine Blockade des aktuellen Threads bis zum Eingehen einer Anforderungsnachricht in der Warteschlange akzeptabel ist. Der Thread wird zum angegebenen timeout
blockiert. Wenn die Anwendungsverarbeitung ohne Wartezeiten fortgesetzt werden soll, verwenden Sie die asynchrone BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object)-Methode.
Hinweise für Ausführende
Der Vorgang gibt false
zurück, wenn der angegebene timeout
überschritten wird.