IRequestChannel.Request Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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
- 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.