Zwei WCF-Services mit unterschiedlichen Verträgen, aber gleichen Geschäftsobjekten

Zum Beispiel habe ich zwei Dienste in IIS gehostet.

<code>[ServiceContract]
public interface IDeviceService
{
    [OperationContract]
    DeviceCollection GetAllDevices(Customer customer);

}

[ServiceContract]
public interface IUserService
{
    [OperationContract]
    User Authenticate(string username, string password);

}
</code>

Sowohl das User-Objekt, das vom Authentifizierungsvorgang im UserService zurückgegeben wird, als auch die DeviceCollection, die vom GetAllDevices-Vorgang im DeviceService zurückgegeben wird, haben eine untergeordnete Objektdefinition von Customer. Der Kunde ist ein Geschäftsobjekt und befindet sich in derselben Baugruppe wie die Benutzer- und Geräteobjekte.

Mein Problem ist auf dem Client - wenn ich die Geräteoperation aufrufe

<code>userProxy.GetAllDevices(user.Customer);
</code>

Der Compiler beschwert sich mit folgender Meldung:

Argument 1 - Konvertierung von UserService.Customer nach DeviceService.Customer nicht möglich

Ich kann mich gut mit beiden Diensten verbinden, es ist die Objektdefinition des Kunden, die das Problem ist. Ich möchte die Operationen nicht wirklich in den gleichen Dienst stellen, wie sie natürlich in ihren eigenen Diensten zu leben scheinen. Ich vermute, was ich frage, ist, wie andere Programmierer mit einem solchen Problem umgehen?

Prost, Stuart

Antworten auf die Frage(4)

Ihre Antwort auf die Frage