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