共用方式為


IInstanceContextProvider 介面

定義

實作此類別,即可參與建立或選擇 InstanceContext 物件,特別是用來啟用共用工作階段。

public interface class IInstanceContextProvider
public interface IInstanceContextProvider
type IInstanceContextProvider = interface
Public Interface IInstanceContextProvider

備註

實作 IInstanceContextProvider 介面,即可為系統提供適當的 System.ServiceModel.InstanceContext 物件。 一般而言,實作這個介面是為了支援共用工作階段、啟用服務執行個體集區、控制服務執行個體的存留時間,或是群組用戶端之間的內容。

例如,若要實作共用,您可以插入自訂 IInstanceContextProvider 來決定讓用戶端中的哪一個工作階段或呼叫與哪一個 InstanceContext 物件產生關聯。 如需示範實例內容共用的範例,請參閱 InstanceCoNtextSharing

注意

IInstanceContextProvider Windows Communication Foundation (WCF) 插入時,控制 (屬性) 之物件建立的一般屬性 InstanceContext ServiceBehaviorAttribute.InstanceContextMode 將不再受到檢查,而且不會有任何作用。

有一個較為通用的機制是 InstanceContext,您可以在建立 (例如,附加自訂擴充至每個 InstanceContext) 時,透過此介面初始化 System.ServiceModel.Dispatcher.IInstanceContextInitializer 物件。

方法

GetExistingInstanceContext(Message, IContextChannel)

當收到新的訊息時呼叫。

InitializeInstanceContext(InstanceContext, Message, IContextChannel)

GetExistingInstanceContext(Message, IContextChannel) 方法傳回 null 時進行呼叫。

IsIdle(InstanceContext)

當所有 InstanceContext 活動完成時進行呼叫,以便實作器可以防止 InstanceContext 被回收。

NotifyIdle(InstanceContextIdleCallback, InstanceContext)

IsIdle(InstanceContext) 方法傳回 false 時進行呼叫,以便實作器能夠在 InstanceContext 物件完成時提供回呼來通知 WCF。

適用於