Ma première question donc j'espère que c'est approprié:
Interface partagée de l'assemblée - j'ai un "partage" de l'assemblée, qui dispose d'une interface, appelons - IDocRepository
. Il est marqué par [ServiceContract]
et il y a plusieurs [OperationContract]
-marqué méthodes.
WCF la mise en œuvre des assemblages - j'ai deux service WCF projets, faisant chacun référence à l'assembly partagé, chaque implémentant cette interface, comme un service WCF.
Assemblée des consommateurs, - Enfin, j'ai un "client" du projet, également référence le partage de l'assemblée, avec une référence à chacun des deux services WCF.
Cependant, le service de références générées dans l'assemblée des consommateurs, qui proviennent d'une auto-généré version de l'interface:
public partial class ExampleClient : System.ServiceModel.ClientBase<SomeNamespace.ExampleSvcRef.IDocRepository>, SomeNamespace.ExampleSvcRef.IDocRepository {
De ce que j'attendais
J'aurais espéré que les deux références au lieu héritent automatiquement l'interface que j'ai défini, que le consommateur/client assemblée est également le référencement. Un peu comme la réutilisation de classes qu'il fournit pour le paramètre et les types de retour, mais pour l'interface de service.
Pourquoi
Afin que je puisse créer une instance de service de référence de proxy et de voter pour elle à mon type d'interface.
J'ai donc pu modifier le code généré par la main à chaque fois, mais il devrait y avoir une meilleure façon...?
(edit: j'ai "Réutiliser les types dans les assemblys référencés" et "la Réutilisation des types dans tous les assemblys référencés" options sélectionnées pour les deux références de service)