Share via


IRequestChannel.Request Méthode

Définition

Envoie une demande basée sur un message et retourne la réponse basée sur un message corrélé.

Surcharges

Request(Message)

Envoie une demande basée sur un message et retourne la réponse basée sur un message corrélé.

Request(Message, TimeSpan)

Envoie une demande basée sur un message et retourne la réponse basée sur un message corrélé dans un intervalle de temps spécifié.

Request(Message)

Source:
IRequestChannel.cs
Source:
IRequestChannel.cs
Source:
IRequestChannel.cs

Envoie une demande basée sur un message et retourne la réponse basée sur un message corrélé.

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

Paramètres

message
Message

Demande Message à transmettre.

Retours

Message reçu en réponse à la demande.

Exemples

Le code suivant illustre l'implémentation de la méthode :

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

Remarques

Les implémentations de IRequestChannel garantissent la correspondance du message de réponse avec le message de demande.

En général, si une implémentation de IRequestChannel reçoit un message qui ne correspond pas à une demande en attente, il est désposé.

La méthode Request peut être appelée simultanément entre plusieurs threads.

Le transit du message à travers le canal de demande entraîne l'accès au message. Après avoir appelé Request, vous ne pouvez plus inspecter le message ou appeler Close sur le message.

Si le message de demande envoyé dépasse la taille maximale de message autorisée par la liaison utilisée, une QuotaExceededException est levée. La taille maximale du message est définie par la propriété MaxReceivedMessageSize. La valeur par défaut est 65536 octets.

S’applique à

Request(Message, TimeSpan)

Source:
IRequestChannel.cs
Source:
IRequestChannel.cs
Source:
IRequestChannel.cs

Envoie une demande basée sur un message et retourne la réponse basée sur un message corrélé dans un intervalle de temps spécifié.

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

Paramètres

message
Message

Demande Message à transmettre.

timeout
TimeSpan

TimeSpan qui spécifie l'intervalle de temps au cours duquel une réponse doit être reçue.

Retours

Message reçu en réponse à la demande.

Exemples

Le code suivant illustre l'implémentation de la méthode.

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

Remarques

Les implémentations de IRequestChannel garantissent la correspondance du message de réponse avec le message de demande.

En général, si une implémentation de IRequestChannel reçoit un message qui ne correspond pas à une demande en attente, il est désposé.

La méthode Request peut être appelée simultanément entre plusieurs threads.

Le transit du message à travers le canal de demande entraîne l'accès au message. Après avoir appelé Request, vous ne pouvez plus inspecter le message ou appeler Close sur le message.

Si le message de demande envoyé dépasse la taille maximale de message autorisée par la liaison utilisée, une QuotaExceededException est levée. La taille maximale du message est définie par la propriété MaxReceivedMessageSize. La valeur par défaut est 65536 octets.

Si un timeout est passé lors de l'appel de la fonction, cette valeur est utilisée. Si le SendTimeout est défini sur la liaison, la valeur sur la liaison est utilisée si aucun timeout n’est spécifié lors de l’appel de la fonction.

Le DefaultSendTimeout est utilisé si aucun délai d’attente n’est spécifié sur la liaison ou lors de l’appel de la fonction. Cette valeur par défaut est 1 minute.

Notes pour les responsables de l’implémentation

L'opération doit lever une TimeoutException si le timeout spécifié est dépassé avant que l'opération soit effectuée.

S’applique à