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 questa interfaccia per partecipare alla creazione o alla scelta di un oggetto InstanceContext, soprattutto 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 System.ServiceModel.InstanceContext appropriato al sistema. In genere, questa interfaccia viene implementata per supportare sessioni condivise, abilitare il pooling delle istanze di servizio, controllare la durata delle istanze del servizio o raggruppare i contesti fra client.
Ad esempio, per implementare la condivisione, inserire un'interfaccia IInstanceContextProvider personalizzata per decidere quale sessione o chiamate da un client è associata con quale oggetto InstanceContext. Per un esempio che illustra la condivisione dei contesti di istanza, vedere InstanceContextSharing.
Nota
Quando un oggetto viene inserito in Windows Communication Foundation (WCF), la proprietà normale che controlla la creazione di oggetti (la proprietà ) non viene più selezionata e non IInstanceContextProvider InstanceContext ha alcun ServiceBehaviorAttribute.InstanceContextMode effetto.
Un meccanismo più generico con il quale è possibile inizializzare oggetti InstanceContext al momento della creazione (ad esempio, per allegare estensioni personalizzate a ogni InstanceContext) è rappresentato da System.ServiceModel.Dispatcher.IInstanceContextInitializer.
Metodi
GetExistingInstanceContext(Message, IContextChannel) |
Metodo chiamato quando viene ricevuto un nuovo messaggio. |
InitializeInstanceContext(InstanceContext, Message, IContextChannel) |
Questo metodo viene chiamato quando viene restituito |
IsIdle(InstanceContext) |
Questo metodo viene chiamato quando tutte le attività InstanceContext sono state completate per consentire agli implementatori di impedire il riciclo di InstanceContext. |
NotifyIdle(InstanceContextIdleCallback, InstanceContext) |
Metodo chiamato quando il metodo IsIdle(InstanceContext) restituisce |