HttpRequestMessageProperty Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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:
QueryString está anexado ao RequestUri.
Headers é adicionado aos cabeçalhos HTTP definidos a serem transmitidos.
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. |