IInstanceContextProvider 接口

定义

实现以参与创建或选择 InstanceContext 对象,特别是启用共享会话。

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

注解

实现 IInstanceContextProvider 接口,以向系统提供相应的 System.ServiceModel.InstanceContext 对象。 通常,实现此接口是为了支持共享会话、启用服务实例池、控制服务实例的生存期或将客户端之间的上下文分组。

例如,若要实现共享,则可插入自定义 IInstanceContextProvider,从而确定要进行关联的来自客户端的会话或调用和 InstanceContext 对象。 有关演示实例上下文共享的示例,请参阅 InstanceContextSharing

备注

将 插入到 Windows Communication Foundation (WCF) 时,控制对象创建的正常属性 (不再检查属性 IInstanceContextProvider InstanceContext ServiceBehaviorAttribute.InstanceContextMode) ,并且不再有效。

还有一种更为常见的机制,即 InstanceContext,您可以在创建 InstanceContext 对象时,利用该机制对其进行初始化(例如,将自定义扩展附加到每个 System.ServiceModel.Dispatcher.IInstanceContextInitializer)。

方法

GetExistingInstanceContext(Message, IContextChannel)

接收新消息时调用。

InitializeInstanceContext(InstanceContext, Message, IContextChannel)

nullGetExistingInstanceContext(Message, IContextChannel) 方法返回时调用。

IsIdle(InstanceContext)

InstanceContext 活动完成时调用,以使实施者能阻止 InstanceContext 的回收。

NotifyIdle(InstanceContextIdleCallback, InstanceContext)

IsIdle(InstanceContext) 方法返回 false 时调用,以使实施者能提供回调,从而通知 WCF InstanceContext 对象的完成时间。

适用于