Condividi tramite


IInstanceContextProvider Interfaccia

Definizione

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 null viene restituito dal GetExistingInstanceContext(Message, IContextChannel) metodo .

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 false per consentire agli implementatori di fornire un callback per notificare a WCF al termine dell'oggetto InstanceContext .

Si applica a