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.
Beginnt einen asynchronen Empfangsvorgang.
Überlädt
BeginReceive(AsyncCallback, Object) |
Startet einen asynchronen Vorgang, um eine Nachricht zu empfangen, die über ein ihm zugeordnetes Statusobjekt verfügt. |
BeginReceive(TimeSpan, AsyncCallback, Object) |
Startet einen asynchronen Vorgang, eine Nachricht zu empfangen, die über einen angegebenen Timeout und ein zugeordnetes Statusobjekt verfügt. |
Hinweise
Verwenden Sie die asynchrone BeginReceive-Methode, wenn die Anwendungsverarbeitung ohne Wartezeiten für den Empfang der Anforderung fortgesetzt werden soll. Verwenden Sie die synchrone Receive-Methode, wenn eine Blockade des aktuellen Threads bis zum Eingehen einer Anforderungsnachricht oder bis zum Überschreiten des von timeout
festgelegten Zeitintervalls akzeptabel ist Der asynchrone Vorgang ist mit oder ohne ein explizites Timeout verfügbar.
BeginReceive(AsyncCallback, Object)
- Quelle:
- IInputChannel.cs
- Quelle:
- IInputChannel.cs
Startet einen asynchronen Vorgang, um eine Nachricht zu empfangen, die über ein ihm zugeordnetes Statusobjekt verfügt.
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 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
Der IAsyncResult-Wert, der auf den asynchronen Nachrichtenempfang verweist.
Beispiele
Im folgenden Code wird veranschaulicht, wie diese Methode implementiert wird:
public IAsyncResult BeginReceive(AsyncCallback callback, object state)
{
return BeginReceive(DefaultReceiveTimeout, callback, state);
}
Hinweise
Verwenden Sie die asynchrone BeginReceive-Methode, wenn die Anwendungsverarbeitung ohne Wartezeiten für den Empfang der Anforderung fortgesetzt werden soll. Verwenden Sie die synchrone Receive-Methode, wenn eine Blockade des aktuellen Threads bis zum Eingehen einer Anforderungsnachricht oder bis zum Überschreiten des von timeout
festgelegten Zeitintervalls akzeptabel ist Der asynchrone Vorgang ist mit oder ohne ein explizites Timeout verfügbar.
Dieser Methode wird in einem Rückruf die Identität des Ereignishandlers für den Vorgang mitgeteilt. Dieser Vorgang wird nicht abgeschlossen, bevor eine Nachricht im Kanal verfügbar wird.
Gilt für:
BeginReceive(TimeSpan, AsyncCallback, Object)
- Quelle:
- IInputChannel.cs
- Quelle:
- IInputChannel.cs
Startet einen asynchronen Vorgang, eine Nachricht zu empfangen, die über einen angegebenen Timeout und ein zugeordnetes Statusobjekt verfügt.
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
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
Der IAsyncResult-Wert, der auf den asynchronen Empfangsvorgang 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 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 ohne Wartezeiten für den Empfang der Anforderung fortgesetzt werden soll. Verwenden Sie die synchrone Receive-Methode, wenn eine Blockade des aktuellen Threads bis zum Eingehen einer Anforderungsnachricht oder bis zum Überschreiten des von timeout
festgelegten Zeitintervalls akzeptabel ist Der asynchrone Vorgang ist mit oder ohne ein explizites Timeout verfügbar.
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 löst eine TimeoutException aus, wenn der festgelegte timeout
-Wert vor Abschluss überschritten wird.