Dwie usługi WCF z różnymi umowami, ale te same obiekty biznesowe

Na przykład mam dwie usługi hostowane w IIS.

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

}

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

}
</code>

Zarówno obiekt User, który jest zwracany z operacji uwierzytelniania w UserService, jak i DeviceCollection zwrócony z operacji GetAllDevices w DeviceService, mają definicję obiektu potomnego klienta. Klient jest obiektem biznesowym znajdującym się w tym samym zespole, co obiekty użytkownika i urządzenia.

Mój problem dotyczy klienta - kiedy dzwonię do urządzenia

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

Kompilator skarży się następującym komunikatem:

Argument 1 - Nie można przekonwertować z UserService.Customer na DeviceService.Customer

Mogę połączyć się z obydwoma usługami w porządku, to problem dotyczy definicji klienta. Naprawdę nie chcę umieszczać Operacji w tej samej usłudze, ponieważ wydają się żyć naturalnie we własnych usługach. Domyślam się, że pytam, jak inni programiści radzą sobie z takim problemem?

Pozdrawiam, Stuart

questionAnswers(4)

yourAnswerToTheQuestion