IInstanceContextProvider Interfaccia
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Implementare per partecipare alla creazione o alla scelta di un InstanceContext oggetto, in particolare per abilitare le sessioni condivise.
public interface class IInstanceContextProvider
public interface IInstanceContextProvider
type IInstanceContextProvider = interface
Public Interface IInstanceContextProvider
Commenti
Implementare l'interfaccia IInstanceContextProvider per fornire l'oggetto appropriato System.ServiceModel.InstanceContext al sistema. In genere, questa interfaccia viene implementata per supportare sessioni condivise, abilitare il pool di istanze del servizio, controllare la durata delle istanze del servizio o raggruppare i contesti tra i client.
Ad esempio, per implementare la condivisione, inserire un oggetto personalizzato IInstanceContextProvider per decidere quale sessione o chiamata da un client è associato a quale InstanceContext oggetto. Per un esempio che illustra la condivisione dei contesti di istanza, vedere InstanceContextSharing.
Annotazioni
Quando un oggetto IInstanceContextProvider viene inserito in Windows Communication Foundation (WCF), la proprietà normale che controlla la creazione di InstanceContext oggetti (la ServiceBehaviorAttribute.InstanceContextMode proprietà) non viene più controllata e non ha alcun effetto.
Un meccanismo più generico tramite il quale è possibile inizializzare InstanceContext gli oggetti quando vengono creati (ad esempio, per associare estensioni personalizzate a ogni InstanceContext) è .System.ServiceModel.Dispatcher.IInstanceContextInitializer
Metodi
| Nome | Descrizione |
|---|---|
| GetExistingInstanceContext(Message, IContextChannel) |
Chiamato quando viene ricevuto un nuovo messaggio. |
| InitializeInstanceContext(InstanceContext, Message, IContextChannel) |
Chiamato quando |
| IsIdle(InstanceContext) |
Viene chiamato quando tutte le InstanceContext attività sono state completate per consentire ai responsabili dell'implementazione di impedire il InstanceContext riciclo di . |
| NotifyIdle(InstanceContextIdleCallback, InstanceContext) |
Chiamato quando il IsIdle(InstanceContext) metodo torna |