IInputChannel.Receive 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.
Gibt, wenn verfügbar, eine vom Eingabekanal empfangene Nachricht mit einem Zeitintervall aus, das explizit oder implizit definiert ist.
Überlädt
Receive() |
Gibt die empfangene Nachricht zurück, wenn eine verfügbar ist. Ist keine Nachricht verfügbar, erfolgt eine Blockade für die Dauer des Standardzeitintervalls. |
Receive(TimeSpan) |
Gibt die empfangene Nachricht zurück, wenn eine verfügbar ist. Ist keine Nachricht verfügbar, erfolgt eine Blockade für die Dauer eines festgelegten Zeitintervalls. |
Hinweise
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 Verwenden Sie die asynchrone BeginReceive-Methode, wenn die Anwendungsverarbeitung ohne Wartezeiten für den Empfang der Anforderung fortgesetzt werden soll.
Der synchrone Receive-Vorgang ist mit oder ohne ein explizites Timeout verfügbar.
Wenn keine Nachricht verfügbar ist, erfolgt eine Blockade, bis eine verfügbar ist oder bis der Timeout überschritten wird.
Receive()
- Quelle:
- IInputChannel.cs
- Quelle:
- IInputChannel.cs
Gibt die empfangene Nachricht zurück, wenn eine verfügbar ist. Ist keine Nachricht verfügbar, erfolgt eine Blockade für die Dauer des Standardzeitintervalls.
public:
System::ServiceModel::Channels::Message ^ Receive();
public System.ServiceModel.Channels.Message Receive ();
abstract member Receive : unit -> System.ServiceModel.Channels.Message
Public Function Receive () As Message
Gibt zurück
Der empfangene Message.
Beispiele
Im folgenden Code wird veranschaulicht, wie diese Methode implementiert wird:
public Message Receive()
{
return Receive(DefaultReceiveTimeout);
}
Hinweise
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 Verwenden Sie die asynchrone BeginReceive-Methode, wenn die Anwendungsverarbeitung ohne Wartezeiten für den Empfang der Anforderung fortgesetzt werden soll.
Der synchrone Receive-Vorgang ist mit oder ohne ein explizites Timeout verfügbar.
Wenn keine Nachricht verfügbar ist, erfolgt eine Blockade, bis eine verfügbar ist oder bis der Timeout überschritten wird.
Receive kann mehrmals oder gleichzeitig aufgerufen werden. Für jede empfangene Nachricht kann nur ein Receive-Aufruf durchgeführt werden.
Gilt für:
Receive(TimeSpan)
- Quelle:
- IInputChannel.cs
- Quelle:
- IInputChannel.cs
Gibt die empfangene Nachricht zurück, wenn eine verfügbar ist. Ist keine Nachricht verfügbar, erfolgt eine Blockade für die Dauer eines festgelegten Zeitintervalls.
public:
System::ServiceModel::Channels::Message ^ Receive(TimeSpan timeout);
public System.ServiceModel.Channels.Message Receive (TimeSpan timeout);
abstract member Receive : TimeSpan -> System.ServiceModel.Channels.Message
Public Function Receive (timeout As TimeSpan) As Message
Parameter
- timeout
- TimeSpan
Der TimeSpan-Wert, der angibt, wie lange der Empfangsvorgang vor Timeout und Ausgabe von TimeoutException abgeschlossen sein muss.
Gibt zurück
Der empfangene Message.
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 Message Receive(TimeSpan timeout)
{
Message message;
while (true)
{
message = this.InnerChannel.Receive(timeout);
if (ProcessReceivedMessage(ref message))
{
break;
}
}
return message;
}
Hinweise
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 Verwenden Sie die asynchrone BeginReceive-Methode, wenn die Anwendungsverarbeitung ohne Wartezeiten für den Empfang der Anforderung fortgesetzt werden soll.
Der synchrone Receive-Vorgang ist mit oder ohne ein explizites Timeout verfügbar.
Wenn keine Nachricht verfügbar ist, erfolgt eine Blockade, bis eine verfügbar ist oder bis der Timeout überschritten wird.
Receive kann mehrmals oder gleichzeitig aufgerufen werden. Für jede empfangene Nachricht kann nur ein Receive-Aufruf durchgeführt werden.