HttpRequestMessageProperty 类

定义

提供对 HTTP 请求的访问,以访问和响应通过 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
继承
HttpRequestMessageProperty
实现
IMessageProperty System.ServiceModel.Channels.IMergeEnabledMessageProperty

示例

下面的代码演示如何在此类的实例中设置若干属性,并将该实例合并到消息中。

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

注解

这是允许开发人员直接访问 HTTP 请求信息的常规用途类,该类可用于包装特定于 HTTP 的信息。 此类的一个示例用途是支持根据“具象状态传输”(REST) 体系结构实现的服务。

此类可实现对下列方案的支持:

  • 改变用于每个请求的 HTTP 谓词。

  • 允许请求设置和查询 HTTP 标头 (key, value) 对。

  • 允许为 HTTP 请求指定查询字符串。

此类可由 HttpTransportBindingElement 和相关类使用。

对于传入消息,此属性将添加到消息中。

对于传出消息,此属性将造成以下情况发生:

构造函数

HttpRequestMessageProperty()

初始化 HttpRequestMessageProperty 类的新实例。

属性

Headers

从 HTTP 请求获取 HTTP 标头。

HttpRequestMessage

提供对 HTTP 请求的访问,以访问和响应通过 HTTP 协议提供给请求的附加信息。

Method

获取或设置 HTTP 请求的 HTTP 谓词。

Name

获取与 HttpRequestMessageProperty 类关联的消息属性的名称。

QueryString

获取或设置 HTTP 请求的查询字符串。

SuppressEntityBody

获取或设置一个值,该值指示是否忽略消息正文并且只发送标头。

方法

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
ToString()

返回表示当前对象的字符串。

(继承自 Object)

显式接口实现

IMergeEnabledMessageProperty.TryMergeWithProperty(Object)

提供对 HTTP 请求的访问,以访问和响应通过 HTTP 协议提供给请求的附加信息。

IMessageProperty.CreateCopy()

创建并返回当前对象的一个副本。

适用于