IReplyChannel.WaitForRequest(TimeSpan) Methode

Definition

Gibt einen Wert zurück, der angibt, ob eine Anforderungsnachricht vor einem angegebenen Zeitintervall empfangen wird.

public:
 bool WaitForRequest(TimeSpan timeout);
public bool WaitForRequest(TimeSpan timeout);
abstract member WaitForRequest : TimeSpan -> bool
Public Function WaitForRequest (timeout As TimeSpan) As Boolean

Parameter

timeout
TimeSpan

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

Gibt zurück

true wenn eine Anforderung vor ablaufen des angegebenen Zeitintervalls empfangen wird; andernfalls false.

Beispiele

Der folgende Code veranschaulicht die Implementierung dieser Methode:

public bool WaitForRequest(TimeSpan timeout)
{
    return this.InnerChannel.WaitForRequest(timeout);
}

Hinweise

Das Aufrufen WaitForRequest(TimeSpan) führt nicht dazu, dass eine Anforderungsnachricht empfangen oder verarbeitet wird.

Die BeginWaitForRequest(TimeSpan, AsyncCallback, Object) Methode ist in erster Linie für Transaktionsszenarien vorhanden, in denen der Benutzer die Nachricht mithilfe einer Transaktion empfangen möchte. Bei der normalen Verwendung ReceiveRequest muss der Benutzer die Transaktion erstellen und dann die Nachricht aufrufen ReceiveRequest und hoffen, dass die Nachricht vor ablaufen der Transaktion eingeht, was möglicherweise nicht möglich ist.

Stattdessen kann der Benutzer das Timeout (auch unendlich) aufrufen WaitForRequest(TimeSpan) und angeben, wenn eine Nachricht eingeht, kann sie die Transaktion öffnen, aufrufen ReceiveRequest und sicher sein, dass sie die Nachricht zurückholen können, bevor die Transaktion abläuft.

Wird verwendet WaitForRequest(TimeSpan) , wenn der aktuelle Thread blockiert werden kann, während eine Nachricht 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 BeginWaitForRequest(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: