Nous avons beaucoup de services WCF qui ne sont utilisés que par notre propre code; le code qui les utilise est principalement dans les mêmes fichiers de solutions qui contiennent les services.Comment refactoriser les contrats de données dans les services WCF?
Cependant, ils n'utilisent pas d'assembly partagé pour les contrats, donc chaque fois qu'un contrat de données est modifié, la référence au service doit être mise à jour manuellement dans tous les projets qui utilisent le service. (Ensuite, le code doit être corrigé à la main)
Alors comment faire un simple refactoring comme renommé un élément de données dans un contrat de données?
Est-il possible de mettre à jour toutes les références à des services en une seule solution avec une seule commande, plutôt que d'avoir à cliquer sur chaque référence dans chaque projet?
On m'a dit que nous ne pouvions pas utiliser un projet de contrat partagé car cela posait un problème de versionnement lorsque des "correctifs" sont faits. Par exemple, l'assemblage du contrat aux deux extrémités peut avoir été construit à différents moments dans la configuration d'un client. Il y a eu beaucoup de problèmes dans le passé avec ce genre de choses et .net remoting, je ne sais pas si c'est un vrai problème avec WCF, ou juste que les gens ne veulent pas faire ce que les livres disent que vous ne devriez pas faire . –
Vous ne fournissez pas le projet de contrats à une partie externe - ils obtiendraient tous les contrats via le service. Cela ne ferait aucune différence pour les consommateurs de votre service. Vous l'utilisez simplement pour organiser les contrats et les partager parmi vos projets internes. Je vais ajouter plus de détails à ma réponse ... – Fenton