Freigeben über


IReplyChannel.TryReceiveRequest(TimeSpan, RequestContext) Methode

Definition

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.

Gilt für: