IRequestChannel.Request Methode

Definitie

Verzendt een aanvraag op basis van een bericht en retourneert het gecorreleerde antwoord op basis van berichten.

Overloads

Name Description
Request(Message)

Verzendt een aanvraag op basis van een bericht en retourneert het gecorreleerde antwoord op basis van berichten.

Request(Message, TimeSpan)

Verzendt een aanvraag op basis van berichten en retourneert het gecorreleerde antwoord op basis van berichten binnen een opgegeven tijdsinterval.

Request(Message)

Verzendt een aanvraag op basis van een bericht en retourneert het gecorreleerde antwoord op basis van berichten.

public:
 System::ServiceModel::Channels::Message ^ Request(System::ServiceModel::Channels::Message ^ message);
public System.ServiceModel.Channels.Message Request(System.ServiceModel.Channels.Message message);
abstract member Request : System.ServiceModel.Channels.Message -> System.ServiceModel.Channels.Message
Public Function Request (message As Message) As Message

Parameters

message
Message

De aanvraag Message die moet worden verzonden.

Retouren

De Message ontvangen reactie op de aanvraag.

Voorbeelden

De volgende code laat zien hoe u deze methode implementeert:

public Message Request(Message message)
{
    return this.InnerChannel.Request(message);
}

Opmerkingen

Implementaties om IRequestChannel ervoor te zorgen dat het antwoordbericht is gecorreleerd met het aanvraagbericht.

Als een implementatie van IRequestChannel een bericht dat niet is gecorreleerd aan een openstaande aanvraag, wordt dit over het algemeen verwijderd.

De Request methode kan gelijktijdig worden aangeroepen voor meerdere threads.

Als u het bericht doorgeeft aan het aanvraagkanaal, wordt het bericht geopend. Nadat u hebt gebeld Request, kunt u het bericht niet meer inspecteren of bellen Close op het bericht.

Als het aanvraagbericht groter is dan de maximale berichtgrootte die is toegestaan door de binding die wordt gebruikt, wordt er een QuotaExceededException gegenereerd. De maximale berichtgrootte wordt ingesteld door de MaxReceivedMessageSize eigenschap. De standaardwaarde is 65536 bytes.

Van toepassing op

Request(Message, TimeSpan)

Verzendt een aanvraag op basis van berichten en retourneert het gecorreleerde antwoord op basis van berichten binnen een opgegeven tijdsinterval.

public:
 System::ServiceModel::Channels::Message ^ Request(System::ServiceModel::Channels::Message ^ message, TimeSpan timeout);
public System.ServiceModel.Channels.Message Request(System.ServiceModel.Channels.Message message, TimeSpan timeout);
abstract member Request : System.ServiceModel.Channels.Message * TimeSpan -> System.ServiceModel.Channels.Message
Public Function Request (message As Message, timeout As TimeSpan) As Message

Parameters

message
Message

De aanvraag Message die moet worden verzonden.

timeout
TimeSpan

Hiermee TimeSpan geeft u het tijdsinterval op waarin een antwoord moet worden ontvangen.

Retouren

De Message ontvangen reactie op de aanvraag.

Voorbeelden

De volgende code laat zien hoe u deze methode implementeert.

public Message Request(Message message, TimeSpan timeout)
{
    return this.InnerChannel.Request(message, timeout);
}

Opmerkingen

Implementaties om IRequestChannel ervoor te zorgen dat het antwoordbericht is gecorreleerd met het aanvraagbericht.

Als een implementatie van IRequestChannel een bericht dat niet is gecorreleerd aan een openstaande aanvraag, wordt dit over het algemeen verwijderd.

De Request methode kan gelijktijdig worden aangeroepen voor meerdere threads.

Als u het bericht doorgeeft aan het aanvraagkanaal, wordt het bericht geopend. Nadat u hebt gebeld Request, kunt u het bericht niet meer inspecteren of bellen Close op het bericht.

Als het aanvraagbericht groter is dan de maximale berichtgrootte die is toegestaan door de binding die wordt gebruikt, wordt er een QuotaExceededException gegenereerd. De maximale berichtgrootte wordt ingesteld door de MaxReceivedMessageSize eigenschap. De standaardwaarde is 65536 bytes.

Als er een timeout wordt doorgegeven tijdens het aanroepen van de functie, wordt die waarde gebruikt. Als de SendTimeout binding is ingesteld, wordt de waarde voor de binding gebruikt als er geen timeout is opgegeven tijdens het aanroepen van de functie.

Deze DefaultSendTimeout wordt gebruikt als er geen time-out is opgegeven voor de binding of tijdens het aanroepen van de functie. Deze standaardwaarde is 1 minuut.

Notities voor uitvoerders

De bewerking moet een TimeoutException als de opgegeven timeout waarde wordt overschreden voordat de bewerking is voltooid.

Van toepassing op