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 標頭 (索引鍵, 值) 組。
允許為 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() |
建立並傳回目前物件的複本。 |