IInstanceContextProvider Interface
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 |
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 |