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 eine Nachricht zurück, die vom Eingabekanal empfangen wird, wenn eine nachricht mit einem zeitintervall verfügbar ist, das explizit oder implizit definiert ist.
Überlädt
| Name | Beschreibung |
|---|---|
| Receive() |
Gibt die empfangene Nachricht zurück, sofern eine verfügbar ist. Wenn eine Nachricht nicht verfügbar ist, werden Blöcke für ein Standardintervall der Zeit blockiert. |
| Receive(TimeSpan) |
Gibt die empfangene Nachricht zurück, sofern eine verfügbar ist. Wenn eine Nachricht nicht verfügbar ist, werden Blöcke für ein bestimmtes Zeitintervall blockiert. |
Hinweise
Verwenden Sie die synchrone Receive Methode, wenn sie für den aktuellen Thread blockiert werden kann, bis sie die Anforderungsnachricht empfängt oder das durch timeout. Verwenden Sie die asynchrone BeginReceive Methode, wenn Die Anwendungsverarbeitung fortgesetzt werden muss, ohne auf den Empfang der Anforderung zu warten.
Der synchrone Receive Vorgang ist mit oder ohne explizites Timeout verfügbar.
Wenn eine Nachricht nicht verfügbar ist, wird blockiert, bis ein Timeout verfügbar ist oder bis das Timeout überschritten wird.
Receive()
Gibt die empfangene Nachricht zurück, sofern eine verfügbar ist. Wenn eine Nachricht nicht verfügbar ist, werden Blöcke für ein Standardintervall der Zeit blockiert.
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 Message Empfangene.
Beispiele
Der folgende Code veranschaulicht die Implementierung dieser Methode:
public Message Receive()
{
return Receive(DefaultReceiveTimeout);
}
Hinweise
Verwenden Sie die synchrone Receive Methode, wenn sie für den aktuellen Thread blockiert werden kann, bis sie die Anforderungsnachricht empfängt oder das durch timeout. Verwenden Sie die asynchrone BeginReceive Methode, wenn die Anwendungsverarbeitung fortgesetzt werden soll, ohne auf den Empfang der Anforderung zu warten.
Der synchrone Receive Vorgang ist mit oder ohne explizites Timeout verfügbar.
Wenn eine Nachricht nicht verfügbar ist, wird blockiert, bis ein Timeout verfügbar ist oder bis das Timeout überschritten wird.
Receive kann mehrmals oder gleichzeitig aufgerufen werden. Für jede empfangene Nachricht kann nur ein Receive Anruf abgeschlossen werden.
Gilt für:
Receive(TimeSpan)
Gibt die empfangene Nachricht zurück, sofern eine verfügbar ist. Wenn eine Nachricht nicht verfügbar ist, werden Blöcke für ein bestimmtes Zeitintervall blockiert.
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
Dies TimeSpan gibt an, wie lange der Empfangsvorgang abgeschlossen werden muss, bevor ein Timeout ausgeführt und ein TimeoutExceptionAusgelöst wird.
Gibt zurück
Der Message Empfangene.
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 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 sie für den aktuellen Thread blockiert werden kann, bis sie die Anforderungsnachricht empfängt oder das durch timeout. Verwenden Sie die asynchrone BeginReceive Methode, wenn die Anwendungsverarbeitung fortgesetzt werden soll, ohne auf den Empfang der Anforderung zu warten.
Der synchrone Receive Vorgang ist mit oder ohne explizites Timeout verfügbar.
Wenn eine Nachricht nicht verfügbar ist, wird blockiert, bis ein Timeout verfügbar ist oder bis das Timeout überschritten wird.
Receive kann mehrmals oder gleichzeitig aufgerufen werden. Für jede empfangene Nachricht kann nur ein Receive Anruf abgeschlossen werden.