Comparteix a través de


HttpRequestMessageProperty Clase

Definición

Proporciona acceso a la solicitud HTTP para obtener acceso y responder a la información adicional habilitada para las solicitudes realizadas a través del protocolo 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
Herencia
HttpRequestMessageProperty
Implementaciones
IMessageProperty System.ServiceModel.Channels.IMergeEnabledMessageProperty

Ejemplos

El código siguiente muestra cómo establecer algunas de las propiedades en una instancia de esta clase e incorporar la instancia a un mensaje.

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

Comentarios

Ésta es una clase de uso general que da al programador acceso directo a la información de la solicitud HTTP, que se puede utilizar para encapsular la información específica del HTTP. Un ejemplo del uso de esta clase es admitir los servicios implementados de acuerdo con la arquitectura de Representational State Transfer (REST).

Esta clase habilita la compatibilidad para los escenarios siguientes:

  • Varía el verbo HTTP utilizado para cada solicitud.

  • Permite establecer y consultar por solicitud los pares del encabezado HTTP (clave, valor).

  • Permite especificar la cadena de consulta para una solicitud HTTP.

HttpTransportBindingElement y las clases relacionadas pueden utilizar esta clase.

Para los mensajes entrantes, esta propiedad se agrega a los mensajes.

Esta propiedad hace que a los mensajes salientes les pase lo siguiente:

Constructores

HttpRequestMessageProperty()

Inicializa una nueva instancia de la clase HttpRequestMessageProperty.

Propiedades

Headers

Obtiene los encabezados HTTP a partir de la solicitud HTTP.

HttpRequestMessage

Proporciona acceso a la solicitud HTTP para obtener acceso y responder a la información adicional habilitada para las solicitudes realizadas a través del protocolo HTTP.

Method

Obtiene o establece el verbo HTTP para la solicitud HTTP.

Name

Obtiene el nombre de la propiedad del mensaje asociada a la clase HttpRequestMessageProperty.

QueryString

Obtiene o establece la cadena de consulta para la solicitud HTTP.

SuppressEntityBody

Obtiene o establece un valor que indica si se omite el cuerpo del mensaje y sólo se envían los encabezados.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Implementaciones de interfaz explícitas

IMergeEnabledMessageProperty.TryMergeWithProperty(Object)

Proporciona acceso a la solicitud HTTP para obtener acceso y responder a la información adicional habilitada para las solicitudes realizadas a través del protocolo HTTP.

IMessageProperty.CreateCopy()

Crea y devuelve una copia del objeto actual.

Se aplica a