Partager via


IInstanceContextProvider Interface

Définition

Implémentez pour participer à la création ou à la sélection d'un objet InstanceContext, en particulier pour activer des sessions partagées.

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

Remarques

Implémentez l'interface IInstanceContextProvider pour fournir l'objet System.ServiceModel.InstanceContext approprié au système. En général, cette interface est implémentée pour prendre en charge les sessions partagées, activer le regroupement d'instances de service, contrôler les durées de vie d'instances de service ou regrouper des contextes parmi des clients.

Par exemple, pour implémenter le partage, insérez un IInstanceContextProvider personnalisé pour décider quelle session ou appel d'un client est associé à quel objet InstanceContext. Pour obtenir un exemple qui illustre le partage de contextes d’instance, consultez InstanceContextSharing.

Notes

lorsqu’un IInstanceContextProvider est inséré dans Windows Communication Foundation (WCF), la propriété normale qui contrôle la création d' InstanceContext objets (la ServiceBehaviorAttribute.InstanceContextMode propriété) n’est plus vérifiée et n’a aucun effet.

Un mécanisme plus générique grâce auquel vous pouvez initialiser des objets InstanceContext une fois créés (par exemple, pour attacher des extensions personnalisées à chaque InstanceContext) est System.ServiceModel.Dispatcher.IInstanceContextInitializer.

Méthodes

GetExistingInstanceContext(Message, IContextChannel)

Appelé à la réception d'un nouveau message.

InitializeInstanceContext(InstanceContext, Message, IContextChannel)

Appelée lorsque la valeur null est retournée par la méthode GetExistingInstanceContext(Message, IContextChannel).

IsIdle(InstanceContext)

Appelée lorsque toutes les activités InstanceContext sont terminées pour permettre aux implémenteurs d'empêcher le InstanceContext d'être recyclé.

NotifyIdle(InstanceContextIdleCallback, InstanceContext)

Appelée lorsque la méthode IsIdle(InstanceContext) retourne false pour permettre aux implémenteurs de fournir un rappel pour notifier WCF lorsque l’objet InstanceContext est terminé.

S’applique à