IReplyChannel.WaitForRequest(TimeSpan) 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 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.