IInstanceContextProvider IInstanceContextProvider IInstanceContextProvider IInstanceContextProvider Interface

Определение

Реализуйте для участия в создании или выборе объекта InstanceContext, в особенности для обеспечения общих сеансов.Implement to participate in the creation or choosing of a InstanceContext object, especially to enable shared sessions.

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

Комментарии

Реализуйте интерфейс IInstanceContextProvider, чтобы предоставить системе соответствующий объект System.ServiceModel.InstanceContext.Implement the IInstanceContextProvider interface to provide the appropriate System.ServiceModel.InstanceContext object to the system. Обычно этот интерфейс реализуется для поддержки общих сеансов, обеспечения пулов экземпляров служб, контроля времени существования экземпляров служб или группировки контекстов клиентов.Typically, this interface is implemented to support shared sessions, enable service instance pooling, control lifetimes of service instances, or to group contexts among clients.

Например, для реализации общего использования вставьте пользовательский интерфейс IInstanceContextProvider, чтобы определить, какой сеанс или вызов от клиента связан с объектом InstanceContext.For example, to implement sharing, insert a custom IInstanceContextProvider to decide which session or call from a client is associated with which InstanceContext object. Пример, демонстрирующий совместное использование контекстов экземпляра, см. в разделе инстанцеконтекстшаринг.For an example that demonstrates the sharing of instance contexts, see InstanceContextSharing.

Примечание

Когда объект IInstanceContextProvider вставляется в Windows Communication Foundation (WCF), свойство "нормальное", которое управляет InstanceContext созданием объектов ServiceBehaviorAttribute.InstanceContextMode (свойство), больше не проверяется и не оказывает никакого влияния.When an IInstanceContextProvider is inserted into Windows Communication Foundation (WCF), the normal property that controls the creation of InstanceContext objects (the ServiceBehaviorAttribute.InstanceContextMode property) is no longer checked and has no effect.

Более универсальным механизмом, с помощью которого можно инициализировать объекты InstanceContext при создании (например, для присоединения пользовательских расширений к каждому объектуInstanceContext) является интерфейс System.ServiceModel.Dispatcher.IInstanceContextInitializer.A more generic mechanism by which you can initialize InstanceContext objects when created (for example, to attach custom extensions to each InstanceContext) is the System.ServiceModel.Dispatcher.IInstanceContextInitializer.

Методы

GetExistingInstanceContext(Message, IContextChannel) GetExistingInstanceContext(Message, IContextChannel) GetExistingInstanceContext(Message, IContextChannel) GetExistingInstanceContext(Message, IContextChannel)

Вызывается при получении нового сообщения.Called when a new message is received.

InitializeInstanceContext(InstanceContext, Message, IContextChannel) InitializeInstanceContext(InstanceContext, Message, IContextChannel) InitializeInstanceContext(InstanceContext, Message, IContextChannel) InitializeInstanceContext(InstanceContext, Message, IContextChannel)

Вызывается, когда из метода null возвращается значение GetExistingInstanceContext(Message, IContextChannel).Called when null is returned from the GetExistingInstanceContext(Message, IContextChannel) method.

IsIdle(InstanceContext) IsIdle(InstanceContext) IsIdle(InstanceContext) IsIdle(InstanceContext)

Вызывается, когда все действия InstanceContext завершаются, чтобы позволить разработчикам предотвратить уничтожение объекта InstanceContext.Called when all InstanceContext activities have completed to enable implementers to prevent the InstanceContext from being recycled.

NotifyIdle(InstanceContextIdleCallback, InstanceContext) NotifyIdle(InstanceContextIdleCallback, InstanceContext) NotifyIdle(InstanceContextIdleCallback, InstanceContext) NotifyIdle(InstanceContextIdleCallback, InstanceContext)

Вызывается, когда метод IsIdle(InstanceContext) возвращает значение false, чтобы позволить разработчику обеспечить обратный вызов с целью уведомить WCF, когда существование объекта InstanceContextзавершается.Called when the IsIdle(InstanceContext) method returns false to enable implementers to provide a callback to notify WCF when the InstanceContext object is finished.

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