IInstanceContextProvider Schnittstelle
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Implementieren Sie dies, um die Erstellung oder Auswahl eines InstanceContext-Objekts mitzubestimmen, insbesondere, um freigegebene Sitzungen zu aktivieren.
public interface class IInstanceContextProvider
public interface IInstanceContextProvider
type IInstanceContextProvider = interface
Public Interface IInstanceContextProvider
Hinweise
Implementieren Sie die IInstanceContextProvider-Schnittstelle, um dem System das entsprechende System.ServiceModel.InstanceContext-Objekt bereitzustellen. In der Regel wird diese Schnittstelle implementiert, um freigegebene Sitzungen zu unterstützen, Dienstinstanzpooling zu aktivieren, die Lebensdauer von Dienstinstanzen zu steuern oder Clients Kontexte in Gruppen zuzuordnen.
Um zum Beispiel die Freigabe zu implementieren, fügen Sie einen benutzerdefinierten IInstanceContextProvider ein, um zu entscheiden, welche Sitzung oder welcher Aufruf eines Clients welchem InstanceContext-Objekt zugeordnet wird. Ein Beispiel, das die Gemeinsame Nutzung von Instanzkontexten veranschaulicht, finden Sie unter InstanceContextSharing.
Hinweis
Wenn ein in Windows Communication Foundation (WCF) eingefügt wird, wird die normale Eigenschaft, die die Erstellung von Objekten steuert (die -Eigenschaft), nicht mehr überprüft und hat IInstanceContextProvider InstanceContext keine Auswirkungen ServiceBehaviorAttribute.InstanceContextMode mehr.
Ein allgemeinerer Mechanismus, mit dem Sie InstanceContext-Objekte bei der Erstellung initialisieren können (zum Beispiel um benutzerdefinierte Erweiterungen an alle InstanceContext anzufügen), ist System.ServiceModel.Dispatcher.IInstanceContextInitializer.
Methoden
GetExistingInstanceContext(Message, IContextChannel) |
Wird aufgerufen, wenn eine neue Nachricht empfangen wird. |
InitializeInstanceContext(InstanceContext, Message, IContextChannel) |
Wird aufgerufen, wenn |
IsIdle(InstanceContext) |
Wird aufgerufen, wenn alle InstanceContext-Aktivitäten die Aktivierung der Implementierungen abgeschlossen haben, um zu verhindern, dass InstanceContext wiederverwendet wird. |
NotifyIdle(InstanceContextIdleCallback, InstanceContext) |
Wird aufgerufen, wenn die IsIdle(InstanceContext)-Methode |