HttpRequestMessageProperty Classe
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.
Fournit l'accès à la requête HTTP pour accéder et répondre aux informations supplémentaires mises à disposition pour les requêtes sur le protocole HTTP.
public ref class HttpRequestMessageProperty sealed : System::ServiceModel::Channels::IMessageProperty
public ref class HttpRequestMessageProperty sealed : System::ServiceModel::Channels::IMergeEnabledMessageProperty, System::ServiceModel::Channels::IMessageProperty
public ref class HttpRequestMessageProperty sealed
public sealed class HttpRequestMessageProperty : System.ServiceModel.Channels.IMessageProperty
public sealed class HttpRequestMessageProperty : System.ServiceModel.Channels.IMergeEnabledMessageProperty, System.ServiceModel.Channels.IMessageProperty
public sealed class HttpRequestMessageProperty
type HttpRequestMessageProperty = class
interface IMessageProperty
type HttpRequestMessageProperty = class
interface IMessageProperty
interface IMergeEnabledMessageProperty
type HttpRequestMessageProperty = class
Public NotInheritable Class HttpRequestMessageProperty
Implements IMessageProperty
Public NotInheritable Class HttpRequestMessageProperty
Implements IMergeEnabledMessageProperty, IMessageProperty
Public NotInheritable Class HttpRequestMessageProperty
- Héritage
-
HttpRequestMessageProperty
- Implémente
-
IMessageProperty System.ServiceModel.Channels.IMergeEnabledMessageProperty
Exemples
Le code suivant montre comment définir plusieurs propriétés dans une instance de cette classe et incorporer l'instance dans un message.
static Message BuildMessage()
{
Message messageToSend = null;
HttpRequestMessageProperty reqProps = new HttpRequestMessageProperty();
reqProps.SuppressEntityBody = false;
reqProps.Headers.Add("CustomHeader", "Test Value");
reqProps.Headers.Add(HttpRequestHeader.UserAgent, "my user agent");
try
{
messageToSend = Message.CreateMessage(MessageVersion.Soap11, "http://tempuri.org/IUntypedService/ProcessMessage", "Hello WCF");
}
catch (Exception e)
{
Console.WriteLine("got exception when sending message: " + e.ToString());
}
messageToSend.Properties[HttpRequestMessageProperty.Name] = reqProps;
return messageToSend;
}
Private Shared Function BuildMessage() As Message
Dim messageToSend As Message = Nothing
Dim reqProps As New HttpRequestMessageProperty()
reqProps.SuppressEntityBody = False
reqProps.Headers.Add("CustomHeader", "Test Value")
reqProps.Headers.Add(HttpRequestHeader.UserAgent, "my user agent")
Try
messageToSend = Message.CreateMessage(MessageVersion.Soap11, "http://tempuri.org/IUntypedService/ProcessMessage", "Hello WCF")
Catch e As Exception
Console.WriteLine("got exception when sending message: " & e.ToString())
End Try
messageToSend.Properties(HttpRequestMessageProperty.Name) = reqProps
Return messageToSend
End Function
Remarques
Il s'agit d'une classe à usage général qui donne au développeur un accès direct aux informations de requête HTTP qui peuvent être utilisées pour encapsuler des informations spécifiques au HTTP. Une des utilisations de cette classe inclut la prise en charge des services implémentés conformément à l'architecture REST (Representational State Transfer).
Cette classe permet de prendre en charge les scénarios suivants :
Varie le verbe HTTP utilisé pour chaque requête.
Autorise la définition et l'interrogation à l'aide d'une requête des paires d'en-tête HTTP (index, valeur).
Autorise la spécification de la chaîne de requête pour une requête HTTP.
Cette classe peut être utilisée par HttpTransportBindingElement et les classes connexes.
Pour les messages entrants, cette propriété est ajoutée aux messages.
Pour les messages sortants, cette propriété déclenche les événements suivants :
QueryString est attachée à RequestUri.
Headers est ajouté aux en-têtes HTTP définis pour être transmis.
Constructeurs
HttpRequestMessageProperty() |
Initialise une nouvelle instance de la classe HttpRequestMessageProperty. |
Propriétés
Headers |
Obtient les en-têtes HTTP de la requête HTTP. |
HttpRequestMessage |
Fournit l'accès à la requête HTTP pour accéder et répondre aux informations supplémentaires mises à disposition pour les requêtes sur le protocole HTTP. |
Method |
Obtient ou définit le verbe HTTP pour la requête HTTP. |
Name |
Obtient le nom de la propriété de message associée à la classe HttpRequestMessageProperty. |
QueryString |
Obtient ou définit la chaîne de requête pour la requête HTTP. |
SuppressEntityBody |
Obtient ou définit une valeur qui indique si le corps des messages est ignoré et seuls les en-têtes sont envoyés. |
Méthodes
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
IMergeEnabledMessageProperty.TryMergeWithProperty(Object) |
Fournit l'accès à la requête HTTP pour accéder et répondre aux informations supplémentaires mises à disposition pour les requêtes sur le protocole HTTP. |
IMessageProperty.CreateCopy() |
Crée et retourne une copie de l'objet actif. |