IReplyChannel.BeginWaitForRequest(TimeSpan, AsyncCallback, Object) Methode

Definition

Startet einen asynchronen Anforderungsvorgang, der über ein angegebenes Timeout und ein ihm zugeordnetes Zustandsobjekt verfügt.

public:
 IAsyncResult ^ BeginWaitForRequest(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginWaitForRequest (TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginWaitForRequest : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginWaitForRequest (timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

Parameter

timeout
TimeSpan

Die TimeSpan, die das Zeitintervall für das Warten auf den Empfang einer verfügbaren Anforderung angibt.

callback
AsyncCallback

Der AsyncCallback-Delegat, der die Benachrichtigung vom asynchronen Empfang erhält, der einen Anforderungsvorgang abschließt.

state
Object

Ein von der Anwendung spezifiziertes Objekt, das Zustandsinformationen enthält, die dem asynchronen Vorgang des Empfanges einer Anforderung zugeordnet sind.

Gibt zurück

IAsyncResult

Der IAsyncResult, der auf den asynchronen Vorgang verweist, um darauf zu warten, dass eine Anforderungsnachricht ankommt.

Beispiele

Im folgenden Code wird veranschaulicht, wie diese Methode implementiert wird:

public IAsyncResult BeginWaitForRequest(TimeSpan timeout, AsyncCallback callback, object state)
{
    return this.InnerChannel.BeginWaitForRequest(timeout, callback, state);
}

Hinweise

Verwenden Sie die synchrone WaitForRequest(TimeSpan)-Methode, wenn eine Blockade des aktuellen Threads während des Wartens auf das Eingehen einer Anforderungsnachricht in der Warteschlange akzeptabel ist. Der Thread wird zum angegebenen timeout blockiert.

Dieser Methode wird in einem Rückruf die Identität des Ereignishandlers für den Vorgang mitgeteilt. Der Vorgang ist nicht abgeschlossen, bevor entweder eine Anforderungsnachricht im Kanal verfügbar wird oder der Timeout auftritt.

Hinweise für Ausführende

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

Gilt für