Ich weiß, dass es ähnliche Fragen zu diesem Thema gab, aber ich war mir nicht ganz sicher, ob sie das gleiche Problem gelöst haben. Also nur um klar zu sein ...Verfügbar machen von vorhandenen Geschäftsobjekten in WCF
Ich habe eine vorhandene Klassenbibliothek, die Namespaces für Typen, Geschäftslogik und Datenzugriff hat. Die Klassen in den Namespaces für logische und Datenzugriffe sind statisch und verfügen über grundlegende crud-Methoden, um die Typinstanzen mit Daten zu füllen, oder um Typinstanzen zu übernehmen, die bereits voll sind und Einfügungen oder Aktualisierungen in der Datenbank vornehmen.
Nun möchte ich zusätzlich zu den vorhandenen Anwendungen, die direkt auf diese Bibliothek verweisen, auch einen WCF-Dienst erstellen, damit andere Anwendungen die Objekte und Methoden auf diese Weise verwenden können.
Jede WCF turorial, die ich sehe, erstellt die Domänenobjekte im Service-Projekt - aber ich möchte nicht meine Objekte an zwei Orten definiert.
Also dachte ich, ich könnte Serialisierung in meiner vorhandenen Klassenbibliothek verweisen und die Typklassen als [DataContract] und die Eigenschaften als [DataMember] markieren. Erstellen Sie dann im WCF-Projekt die [ServiceContract] -Schnittstellen mit den [OperationContract] -Methoden, um die statischen Logikklassen und -methoden aus der vorhandenen Bibliothek, die ich darstellen möchte, abzugleichen. Wenden Sie sich dann aus dem WCF-Projekt an die vorhandene Klassenbibliothek, und implementieren Sie die WCF-Schnittstellen, indem Sie Methoden verwenden, die die vorhandenen Bibliothekslogikmethoden aufrufen, die die vorhandenen Bibliothekstypen zurückgeben.
Ist das ein gutes Muster?
Dank max. Eigentlich habe ich es nicht erwähnt, aber eines der Dinge, die ich versuche zu tun, ist nicht die Bibliothek an die Verbraucher des Dienstes zu liefern. –