IInstanceContextProvider Интерфейс

Определение

Реализуйте для участия в создании или выборе объекта InstanceContext, в особенности для обеспечения общих сеансов.

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

Комментарии

Реализуйте интерфейс IInstanceContextProvider, чтобы предоставить системе соответствующий объект System.ServiceModel.InstanceContext. Обычно этот интерфейс реализуется для поддержки общих сеансов, обеспечения пулов экземпляров служб, контроля времени существования экземпляров служб или группировки контекстов клиентов.

Например, для реализации общего использования вставьте пользовательский интерфейс IInstanceContextProvider, чтобы определить, какой сеанс или вызов от клиента связан с объектом InstanceContext. Пример, демонстрирующий совместное использование контекстов экземпляра, см. в разделе инстанцеконтекстшаринг.

Примечание

когда объект IInstanceContextProvider вставляется в Windows Communication Foundation (WCF), свойство "нормальное", которое управляет созданием InstanceContext объектов ( ServiceBehaviorAttribute.InstanceContextMode свойство), больше не проверяется и не оказывает никакого влияния.

Более универсальным механизмом, с помощью которого можно инициализировать объекты InstanceContext при создании (например, для присоединения пользовательских расширений к каждому объектуInstanceContext) является интерфейс System.ServiceModel.Dispatcher.IInstanceContextInitializer.

Методы

GetExistingInstanceContext(Message, IContextChannel)

Вызывается при получении нового сообщения.

InitializeInstanceContext(InstanceContext, Message, IContextChannel)

Вызывается, когда из метода null возвращается значение GetExistingInstanceContext(Message, IContextChannel).

IsIdle(InstanceContext)

Вызывается, когда все действия InstanceContext завершаются, чтобы позволить разработчикам предотвратить уничтожение объекта InstanceContext.

NotifyIdle(InstanceContextIdleCallback, InstanceContext)

Вызывается, когда метод IsIdle(InstanceContext) возвращает значение false, чтобы позволить разработчику обеспечить обратный вызов с целью уведомить WCF, когда существование объекта InstanceContextзавершается.

Применяется к