IInputChannel.Receive Methode

Definitie

Retourneert een bericht dat is ontvangen door het invoerkanaal, als er een beschikbaar is met een tijdsinterval dat expliciet of impliciet is gedefinieerd.

Overloads

Name Description
Receive()

Retourneert het ontvangen bericht, indien beschikbaar. Als een bericht niet beschikbaar is, worden blokken voor een standaardinterval van tijd geblokkeerd.

Receive(TimeSpan)

Retourneert het ontvangen bericht, indien beschikbaar. Als een bericht niet beschikbaar is, worden blokken voor een opgegeven tijdsinterval geblokkeerd.

Opmerkingen

Gebruik de synchrone Receive methode wanneer het acceptabel is dat de huidige thread wordt geblokkeerd totdat het aanvraagbericht wordt ontvangen of het tijdsinterval overschrijdt dat is opgegeven door timeout. Gebruik de asynchrone BeginReceive methode wanneer u de verwerking van de toepassing nodig hebt om door te gaan zonder te wachten totdat de aanvraag is ontvangen.

De synchrone Receive bewerking is beschikbaar met of zonder een expliciete time-out.

Als een bericht niet beschikbaar is, wordt het geblokkeerd totdat het bericht beschikbaar is of totdat de time-out is overschreden.

Receive()

Retourneert het ontvangen bericht, indien beschikbaar. Als een bericht niet beschikbaar is, worden blokken voor een standaardinterval van tijd geblokkeerd.

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

Retouren

De Message ontvangen.

Voorbeelden

De volgende code illustreert hoe u deze methode implementeert:

public Message Receive()
{
    return Receive(DefaultReceiveTimeout);
}

Opmerkingen

Gebruik de synchrone Receive methode wanneer het acceptabel is dat de huidige thread wordt geblokkeerd totdat het aanvraagbericht wordt ontvangen of het tijdsinterval overschrijdt dat is opgegeven door timeout. Gebruik de asynchrone BeginReceive methode wanneer u wilt dat de verwerking van de toepassing wordt voortgezet zonder te wachten totdat de aanvraag is ontvangen.

De synchrone Receive bewerking is beschikbaar met of zonder een expliciete time-out.

Als een bericht niet beschikbaar is, wordt het geblokkeerd totdat het bericht beschikbaar is of totdat de time-out is overschreden.

Receive kan meerdere keren of gelijktijdig worden aangeroepen. Slechts één Receive oproep kan worden voltooid voor elk ontvangen bericht.

Van toepassing op

Receive(TimeSpan)

Retourneert het ontvangen bericht, indien beschikbaar. Als een bericht niet beschikbaar is, worden blokken voor een opgegeven tijdsinterval geblokkeerd.

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

Parameters

timeout
TimeSpan

Hiermee TimeSpan geeft u op hoe lang de ontvangstbewerking moet worden voltooid voordat er een time-out optreedt en een TimeoutException.

Retouren

De Message ontvangen.

Uitzonderingen

De opgegeven timeout waarde wordt overschreden voordat de bewerking is voltooid.

De opgegeven time-out is kleiner dan nul.

Voorbeelden

De volgende code illustreert hoe u deze methode implementeert:

public Message Receive(TimeSpan timeout)
{
    Message message;
    while (true)
    {
        message = this.InnerChannel.Receive(timeout);
        if (ProcessReceivedMessage(ref message))
        {
            break;
        }
    }

    return message;
}

Opmerkingen

Gebruik de synchrone Receive methode wanneer het acceptabel is dat de huidige thread wordt geblokkeerd totdat het aanvraagbericht wordt ontvangen of het tijdsinterval overschrijdt dat is opgegeven door timeout. Gebruik de asynchrone BeginReceive methode wanneer u wilt dat de verwerking van de toepassing wordt voortgezet zonder te wachten totdat de aanvraag is ontvangen.

De synchrone Receive bewerking is beschikbaar met of zonder een expliciete time-out.

Als een bericht niet beschikbaar is, wordt het geblokkeerd totdat het bericht beschikbaar is of totdat de time-out is overschreden.

Receive kan meerdere keren of gelijktijdig worden aangeroepen. Slechts één Receive oproep kan worden voltooid voor elk ontvangen bericht.

Van toepassing op