IInputChannel.BeginWaitForMessage(TimeSpan, AsyncCallback, Object) Methode

Definition

Startet einen asynchronen Warte-für-Nachricht-zu-Eintreffen-Vorgang, der ein angegebenes Timeout- und Zustandsobjekt zugeordnet ist.

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

Dies TimeSpan gibt das Zeitintervall an, um zu warten, bis eine Nachricht verfügbar ist.

callback
AsyncCallback

Der Delegat AsyncCallback , der die Benachrichtigung über den Abschluss des asynchronen Vorgangs empfängt.

state
Object

Ein von der Anwendung angegebenes Objekt, das Statusinformationen enthält, die dem asynchronen Vorgang zugeordnet sind.

Gibt zurück

Der IAsyncResult Verweis auf den asynchronen Vorgang, der auf das Eintreffen einer Nachricht wartet.

Ausnahmen

Der angegebene timeout Wert wird überschritten, bevor der Vorgang abgeschlossen ist.

Das angegebene Timeout ist kleiner als 0.

Beispiele

Der folgende Code veranschaulicht die Implementierung dieser Methode:

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 fortgesetzt werden muss, ohne auf das Eintreffen der Nachricht zu warten. Verwenden Sie die synchrone WaitForMessage(TimeSpan) Methode, wenn sie für den aktuellen Thread blockiert werden kann, während eine Nachricht in der Warteschlange eingetroffen ist. Der Thread wird bis zum angegebenen timeoutThread blockiert.

Diese Methode empfängt eine Benachrichtigung über einen Rückruf der Identität des Ereignishandlers für den Vorgang. Der Vorgang ist erst abgeschlossen, wenn eine Nachricht im Kanal verfügbar ist oder das Timeout auftritt.

Hinweise für Ausführende

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

Gilt für: