Condividi tramite


IInstanceContextProvider Interfaccia

Definizione

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

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 false per consentire agli implementatori di fornire un callback per notificare a WCF quando l'oggetto InstanceContext è stato completato.

Si applica a