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) |
Вызывается, когда из метода |
IsIdle(InstanceContext) |
Вызывается, когда все действия InstanceContext завершаются, чтобы позволить разработчикам предотвратить уничтожение объекта InstanceContext. |
NotifyIdle(InstanceContextIdleCallback, InstanceContext) |
Вызывается, когда метод IsIdle(InstanceContext) возвращает значение |