IInputChannel.Receive Methode

Definition

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.

Gilt für: