IReplyChannel.TryReceiveRequest(TimeSpan, RequestContext) Methode

Definition

Gibt einen Wert zurück, der angibt, ob eine Anforderung vor einem angegebenen Zeitintervall 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

Dies TimeSpan gibt an, wie lange der Empfang eines Anforderungsvorgangs abgeschlossen werden muss, bevor ein Timeout ausgeführt und zurückgegeben wird false.

context
RequestContext

Der RequestContext Empfangene.

Gibt zurück

true wenn eine Anforderungsnachricht vor dem angegebenen Zeitintervall empfangen wird; andernfalls false.

Beispiele

Der folgende Code veranschaulicht die Implementierung dieser Methode:

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

Wird verwendet TryReceiveRequest(TimeSpan, RequestContext) , wenn der aktuelle Thread blockiert werden kann, während er wartet, bis eine Anforderungsnachricht in der Warteschlange eingetroffen ist. Der Thread wird bis zum angegebenen timeoutThread blockiert. Wenn Die Anwendungsverarbeitung ohne Warten fortgesetzt werden muss, verwenden Sie die asynchrone BeginTryReceiveRequest(TimeSpan, AsyncCallback, Object) Methode.

Hinweise für Ausführende

Der Vorgang gibt zurück false , wenn der angegebene timeout Wert überschritten wird.

Gilt für: