HttpRequestMessageProperty.Headers 属性
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从 HTTP 请求获取 HTTP 标头。
public:
property System::Net::WebHeaderCollection ^ Headers { System::Net::WebHeaderCollection ^ get(); };
public System.Net.WebHeaderCollection Headers { get; }
member this.Headers : System.Net.WebHeaderCollection
Public ReadOnly Property Headers As WebHeaderCollection
属性值
返回一个 WebHeaderCollection,其中包含 HTTP 请求中的 HTTP 标头。
示例
下面的代码演示如何使用此属性将自定义标头添加到消息中。
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
注解
有时此属性不可用,并且尝试访问此属性可能会引发异常。 当 WCF 在 HTTP 请求完成后托管在 IIS 中时,尤其在消息可用之前将回复发送回的单向方案中,可能会发生这种情况。