Je sais qu'il y a eu des questions similaires sur ce sujet mais je n'étais pas complètement sûr qu'ils résolvaient le même problème. Donc juste pour être clair ...Exposer des objets métier existants dans WCF
J'ai une bibliothèque de classes existante qui a des espaces de noms pour les types, la logique métier et l'accès aux données. Les classes dans les espaces de noms logiques et d'accès aux données sont statiques et ont des méthodes crud de base pour remplir les instances de type avec des instances de données ou de prise qui sont déjà complètes et insèrent ou mettent à jour dans la base de données.
Maintenant, en plus des applications existantes qui font directement référence à cette bibliothèque, je veux également créer un service WCF afin que d'autres applications puissent consommer les objets et les méthodes de cette façon. Chaque turborescence WCF que je vois crée les objets de domaine dans le projet de service - mais je ne veux pas que mes objets soient définis à deux endroits. Donc, je pensais pouvoir référencer la sérialisation dans ma bibliothèque de classes existante et marquer les classes de types comme [DataContract] et les propriétés comme [DataMember]. Ensuite, dans le projet WCF, créez les interfaces [ServiceContract] avec les méthodes [OperationContract] pour faire correspondre les classes et méthodes de logique statique de la bibliothèque existante que je souhaite exposer. Puis, à partir du projet WCF, référencez la bibliothèque de classes existante et implémentez les interfaces WCF en y incluant des méthodes qui appellent les méthodes logiques de bibliothèque existantes qui renvoient les types de bibliothèque existants.
Est-ce un bon motif?
Merci Max. En fait, je ne l'ai pas mentionné, mais l'une des choses que j'essaie de faire n'est pas d'expédier la bibliothèque aux consommateurs du service. –