RequestContext 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供與傳入要求相互關聯的回覆。
public ref class RequestContext abstract : IDisposable
public abstract class RequestContext : IDisposable
type RequestContext = class
interface IDisposable
Public MustInherit Class RequestContext
Implements IDisposable
- 繼承
-
RequestContext
- 實作
備註
您可以從 IReplyChannel 取得要求內容。 每個 RequestContext 會封裝回覆要求所需的資訊,因此當等候每個要求訊息接收回覆時就不需要封鎖通道。
在要求/回復模型中,對像是 RequestContext 傳入的要求與傳出之回復之間的連結。當伺服器收到要求時,它會提供 RequestContext 代表通道要求的實例。 除了其他有用的屬性以外,要求內容也會包含原始要求訊息。 然後這個要求內容就會隱藏在 OperationContext 中以便讓服務擷取。 您通常會使用 Current 屬性存取目前作業的要求。
RequestContext 的值可以是 null
。 因為要求內容的角色是將要求連結至回覆,所以當沒有回覆時就不需要要求內容,因此在此例中內容會設定為 null
。 針對要求/回覆模型上方的單向作業,伺服器會接收要求但是不會將回應傳回至用戶端。 所以如果 RequestContext 意外成為 null
,請先檢查作業合約是否為 IsOneWay。
給衍生自此類別之 Managed C++ 使用者的特別說明:
請將您的清除程式碼置於 (On)(Begin)Close (and/or OnAbort),而不是解構函式。
避免使用解構函式,因為它們會導致編譯器自動產生 IDisposable。
避免使用非參考成員,因為它們會導致編譯器自動產生 IDisposable。
避免使用完成項,但如果您要加入完成項,則應隱藏建置警告並從 (On)(Begin)Close (和/或 OnAbort) 呼叫 和完成項本身,以模擬原本可能自動產生的 行為。
建構函式
RequestContext() |
初始化 RequestContext 類別的新執行個體。 |
屬性
RequestMessage |
在衍生類別 (Derived Class) 中覆寫時,取得包含要求的訊息。 |
方法
Abort() |
在衍生類別中覆寫時,中止處理與內容關聯的要求。 |
BeginReply(Message, AsyncCallback, Object) |
在衍生類別中覆寫時,開始非同步作業以回覆與目前內容關聯的要求。 |
BeginReply(Message, TimeSpan, AsyncCallback, Object) |
在衍生類別中覆寫時,在指定時間間隔內開始非同步作業以回覆與目前內容關聯的要求。 |
Close() |
在衍生類別中覆寫時,關閉回覆與目前內容關聯之要求內容的作業。 |
Close(TimeSpan) |
在衍生類別中覆寫時,在指定時間間隔內關閉回覆與目前內容關聯之要求內容的作業。 |
Dispose(Boolean) |
釋放與內容關聯的資源。 |
EndReply(IAsyncResult) |
在衍生類別中覆寫時,完成非同步作業以回覆要求訊息。 |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
Reply(Message) |
在衍生類別中覆寫時,回覆要求訊息。 |
Reply(Message, TimeSpan) |
在衍生類別中覆寫時,在指定時間間隔內回覆要求訊息。 |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |
明確介面實作
IDisposable.Dispose() |
同時釋放與內容關聯的 Managed 和 Unmanaged 資源。 |