HttpRequestMessageProperty Classe

Definição

Fornece acesso ao pedido HTTP para aceder e responder à informação adicional disponibilizada para pedidos através do 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
Herança
HttpRequestMessageProperty
Implementações
IMessageProperty System.ServiceModel.Channels.IMergeEnabledMessageProperty

Exemplos

O código seguinte mostra como definir várias das propriedades numa instância desta classe e incorporar a instância numa mensagem.

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

Observações

Esta é uma classe de uso geral que dá ao programador acesso direto à informação do pedido HTTP, que pode ser usada para encapsular informação específica de HTTP. Um exemplo da utilização desta classe é suportar serviços implementados de acordo com a arquitetura de Transferência de Estado Representacional (REST).

Esta classe permite suportar os seguintes cenários:

  • Varia o verbo HTTP usado para cada pedido.

  • Permite que pares de cabeçalho HTTP (chave, valor) sejam definidos e consultados por pedido.

  • Permite especificar a cadeia de consulta para um pedido HTTP.

Esta classe pode ser usada por HttpTransportBindingElement classes relacionadas.

Para mensagens recebidas, esta propriedade é adicionada às mensagens.

Para mensagens de saída, esta propriedade faz com que ocorra o seguinte:

Construtores

Name Description
HttpRequestMessageProperty()

Inicializa uma nova instância da HttpRequestMessageProperty classe.

Propriedades

Name Description
Headers

Obtém os cabeçalhos HTTP a partir do pedido HTTP.

Method

Recebe ou define o verbo HTTP para o pedido HTTP.

Name

Recebe o nome da propriedade da mensagem associada à HttpRequestMessageProperty classe.

QueryString

Recebe ou define a cadeia de consulta para o pedido HTTP.

SuppressEntityBody

Recebe ou define um valor que indica se o corpo da mensagem é ignorado e apenas os cabeçalhos são enviados.

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Implementações de Interface Explícita

Name Description
IMergeEnabledMessageProperty.TryMergeWithProperty(Object)

Fornece acesso ao pedido HTTP para aceder e responder à informação adicional disponibilizada para pedidos através do protocolo HTTP.

IMessageProperty.CreateCopy()

Cria e devolve uma cópia do objeto atual.

Aplica-se a