IInputChannel.BeginReceive 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.
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.