HttpRequestMessageProperty 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
提供对 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 和相关类使用。
对于传入消息,此属性将添加到消息中。
对于传出消息,此属性将造成以下情况发生:
QueryString 被追加到 RequestUri。
Headers 添加到要传输的 HTTP 标头集。
构造函数
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() |
创建并返回当前对象的一个副本。 |