WCF Service Reference generiert eine eigene Vertragsschnittstelle, die meine nicht wiederverwendet

Meine erste Frage, hoffe so ist es geeignet:

Gemeinsame Schnittstelle Montage - ich habe einen 'shared' - assembly, die eine Schnittstelle besitzt, nennen wir es IDocRepository. Es ist gekennzeichnet mit [ServiceContract] und es gibt mehrere [OperationContract]-markierten Methoden.

WCF-Implementierung Baugruppen - ich habe zwei WCF-service-Projekte, jeder Verweis auf die freigegebene assembly, jeder der diese Schnittstelle implementiert, als WCF-Dienst.

Verbraucher Montage - Endlich habe ich eine 'client' - Projekt, auch das verweisen auf die freigegebene assembly, mit einem Verweis auf jeden von den zwei WCF-Dienste.

Jedoch, die service-Referenzen erzeugt, in dem der Verbraucher die Montage stammen aus einer automatisch generierten version der Schnittstelle:

public partial class ExampleClient : System.ServiceModel.ClientBase<SomeNamespace.ExampleSvcRef.IDocRepository>, SomeNamespace.ExampleSvcRef.IDocRepository {

Was ich erwartet
Ich hätte gehofft, dass beide Verweise stattdessen Erben automatisch die Schnittstelle, die ich definiert, dass der Verbraucher/Kunde Montage ist auch die Referenzierung. Wie bei der Wiederverwendung von Klassen, die es bietet für die parameter-und Rückgabetypen, aber für die service-Schnittstelle.

Warum
So kann ich erstellen Sie eine Instanz der service-Referenz-proxy und warf es zu meinem interface geben.

So, ich könnte ändern Sie den generierten code von hand jedes mal, aber es sollte besser Weg...?

(edit: ich habe 'die Wiederverwendung von Typen der referenzierten assemblies' und 'Wiederverwendung von Typen in alle referenzierten Assemblys" - Optionen für service Referenzen)

InformationsquelleAutor der Frage Kieren Johnstone | 2010-06-25

Schreibe einen Kommentar