Freigeben über


IInputChannel.BeginWaitForMessage(TimeSpan, AsyncCallback, Object) Methode

Definition

Startet einen asynchronen Vorgang für das Warten auf den Nachrichteneingang, der über einen angegebenen Timeout und ein zugeordnetes Statusobjekt verfügt.

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

Parameter

timeout
TimeSpan

Der TimeSpan-Wert, der das Zeitintervall für das Warten darauf angibt, das eine Nachricht verfügbar wird.

callback
AsyncCallback

Der AsyncCallback-Delegat, der die Benachrichtigung über den Abschluss des asynchronen Vorgangs erhält.

state
Object

Ein durch die Anwendung festgelegtes Objekt, das dem asynchronen Vorgang zugeordnete Statusinformationen enthält.

Gibt zurück

IAsyncResult

Der IAsyncResult-Wert, der auf den asynchronen Vorgang für das Warten auf den Nachrichteneingang verweist.

Ausnahmen

Der festgelegte timeout wird überstiegen, bevor der Vorgang abgeschlossen ist.

Der festgelegte Timeout ist kleiner als 0 (null).

Beispiele

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

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

Hinweise

Verwenden Sie die asynchrone BeginWaitForMessage(TimeSpan, AsyncCallback, Object)-Methode, wenn die Anwendungsverarbeitung ohne Wartezeiten für den Nachrichteneingang fortgesetzt werden soll. Verwenden Sie die synchrone WaitForMessage(TimeSpan)-Methode, wenn eine Blockade des aktuellen Threads während des Wartens auf das Eingehen einer Nachricht 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 Nachricht 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, nicht eine Timeoutausnahme.

Gilt für