Freigeben über


DispatchRuntime.InstanceProvider Eigenschaft

Definition

Ruft ein IInstanceProvider-Objekt ab (bzw. legt es fest), das verwendet werden kann, um Dienstobjekte zu erstellen und zu löschen.

public:
 property System::ServiceModel::Dispatcher::IInstanceProvider ^ InstanceProvider { System::ServiceModel::Dispatcher::IInstanceProvider ^ get(); void set(System::ServiceModel::Dispatcher::IInstanceProvider ^ value); };
public System.ServiceModel.Dispatcher.IInstanceProvider InstanceProvider { get; set; }
member this.InstanceProvider : System.ServiceModel.Dispatcher.IInstanceProvider with get, set
Public Property InstanceProvider As IInstanceProvider

Eigenschaftswert

IInstanceProvider

Ein IInstanceProvider-Objekt, das die Erstellung und Löschung von Dienstobjekten steuert, die einem InstanceContext-Objekt zugeordnet sind.

Hinweise

Implementieren Sie die IInstanceProvider Schnittstelle, und weisen Sie der InstanceProvider Eigenschaft die Implementierung zu, um Instanzen des Diensttyps mithilfe eines anderen Konstruktors als dem parameterlosen Konstruktor zu steuern, z. B. zum Implementieren eines benutzerdefinierten Instancemodus wie z. B. Instanzpooling.

Normalerweise wird die GetInstance-Methode einmal aufgerufen, wenn das InstanceContext-Objekt erstellt wird. Die ReleaseInstance-Methode wird ebenfalls einmal aufgerufen, wenn das InstanceContext-Objekt geschlossen wird.

Ein Dienst kann auch konfiguriert werden, um eine Instanz freizugeben, bevor das InstanceContext-Objekt geschlossen wird. Für diese Konfiguration verwenden Sie die ReleaseInstanceMode-Eigenschaft oder rufen die ReleaseServiceInstance-Methode auf. In diesem Fall ruft das InstanceContext-Objekt die ReleaseInstance-Methode auf. Wenn nach der Freigabe der Instanz eine neue Nachricht eingeht, wird eine neue Instanz mit der GetInstance-Methode erstellt.

Gilt für