IInputChannel.BeginReceive Methode

Definition

Startet einen asynchronen Empfangsvorgang.

Überlädt

Name Beschreibung
BeginReceive(AsyncCallback, Object)

Startet einen asynchronen Vorgang, um eine Nachricht zu empfangen, der ein Statusobjekt zugeordnet ist.

BeginReceive(TimeSpan, AsyncCallback, Object)

Startet einen asynchronen Vorgang, um eine Nachricht zu empfangen, die ein angegebenes Timeout- und Zustandsobjekt zugeordnet ist.

Hinweise

Verwenden Sie die asynchrone BeginReceive Methode, wenn die Anwendungsverarbeitung fortgesetzt werden soll, ohne auf den Empfang der Anforderung zu warten. Verwenden Sie die synchrone Receive Methode, wenn sie für den aktuellen Thread blockiert werden kann, bis die Anforderungsnachricht empfangen wird oder das durch die timeout Anforderung angegebene Zeitintervall überschritten wurde. Der asynchrone Vorgang ist mit oder ohne explizites Timeout verfügbar.

BeginReceive(AsyncCallback, Object)

Quelle:
IInputChannel.cs
Quelle:
IInputChannel.cs
Quelle:
IInputChannel.cs

Startet einen asynchronen Vorgang, um eine Nachricht zu empfangen, der ein Statusobjekt zugeordnet ist.

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

Parameter

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 Nachrichtenempfang.

Beispiele

Der folgende Code veranschaulicht die Implementierung dieser Methode:

public IAsyncResult BeginReceive(AsyncCallback callback, object state)
{
    return BeginReceive(DefaultReceiveTimeout, callback, state);
}

Hinweise

Verwenden Sie die asynchrone BeginReceive Methode, wenn die Anwendungsverarbeitung fortgesetzt werden soll, ohne auf den Empfang der Anforderung zu warten. Verwenden Sie die synchrone Receive Methode, wenn sie für den aktuellen Thread blockiert werden kann, bis die Anforderungsnachricht empfangen wird oder das durch die timeout Anforderung angegebene Zeitintervall überschritten wurde. Der asynchrone Vorgang ist mit oder ohne explizites Timeout verfügbar.

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.

Gilt für:

BeginReceive(TimeSpan, AsyncCallback, Object)

Quelle:
IInputChannel.cs
Quelle:
IInputChannel.cs
Quelle:
IInputChannel.cs

Startet einen asynchronen Vorgang, um eine Nachricht zu empfangen, die ein angegebenes Timeout- und Zustandsobjekt zugeordnet ist.

public:
 IAsyncResult ^ BeginReceive(TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
public IAsyncResult BeginReceive(TimeSpan timeout, AsyncCallback callback, object state);
abstract member BeginReceive : TimeSpan * AsyncCallback * obj -> IAsyncResult
Public Function BeginReceive (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 Empfangsvorgang.

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 BeginReceive(TimeSpan timeout, AsyncCallback callback, object state)
{
    ReceiveAsyncResult<TChannel> result = new ReceiveAsyncResult<TChannel>(this, timeout, callback, state);
    result.Begin();
    return result;
}

Hinweise

Verwenden Sie die asynchrone BeginReceive Methode, wenn die Anwendungsverarbeitung fortgesetzt werden soll, ohne auf den Empfang der Anforderung zu warten. Verwenden Sie die synchrone Receive Methode, wenn sie für den aktuellen Thread blockiert werden kann, bis die Anforderungsnachricht empfangen wird oder das durch die timeout Anforderung angegebene Zeitintervall überschritten wurde. Der asynchrone Vorgang ist mit oder ohne explizites Timeout verfügbar.

Der Vorgang ist erst abgeschlossen, wenn eine Nachricht im Kanal verfügbar ist oder das Timeout auftritt.

Hinweise für Ausführende

Der Vorgang löst ein TimeoutException , wenn der angegebene timeout Wert überschritten wird, bevor er abgeschlossen wird.

Gilt für: