Ich muss einige Methoden vor dem ersten Aufruf eines WCF-Dienstes ausführen, wo setze ich diese Methoden ein? Wo ist die Startmethode eines WCF-Dienstes?
Obs1: Mein WCF-Dienst wird auf einem IIS6 ausgeführt. Obs2: Ich benutze .net Framework 4.0.
Eine Möglichkeit besteht darin, Ihre WCF-Dienste selbst zu hosten (wie in nicht in IIS). Auf diese Weise können Sie den gewünschten Code ausführen, bevor Sie die Dienste starten.
Eine andere Möglichkeit besteht darin, im Konstruktor jeder Implementierung des Dienstverhaltens einen statischen Methodenaufruf hinzuzufügen. Dieser statische Methodenaufruf würde eine Überprüfung durchführen, um sicherzustellen, dass die Initialisierung ausgeführt wurde. Stellen Sie sicher, dass Sie während dieses Aufrufs mit der Multi-Thread-Parallelität umgehen.
Abhängig von der Lebensdauerkonfiguration Ihres Dienstes wird WCF entweder die Serviceklasse bei jedem Aufruf (singlecall), für jeden Client (Sitzung) oder nur einmal für jeden Aufruf jedes Clients (singleton) instanziieren.
Sie können die I nstanceProvide Schnittstelle implementieren übernimm die Kontrolle über den Instanziierungsprozess. Auf diese Weise können Sie Methoden aufrufen, bevor der eigentliche Aufruf ausgeführt wird.