RequestContext 類別

定義

提供與傳入要求相互關聯的回覆。

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 資源。

適用於