Dois serviços WCF com contratos diferentes, mas os mesmos objetos de negócios
Por exemplo, tenho dois serviços hospedados no IIS.
[ServiceContract]
public interface IDeviceService
{
[OperationContract]
DeviceCollection GetAllDevices(Customer customer);
}
[ServiceContract]
public interface IUserService
{
[OperationContract]
User Authenticate(string username, string password);
}
Tanto o objeto de usuário que é retornado da operação de autenticação no UserService e o DeviceCollection que é retornado da operação GetAllDevices no DeviceService tem uma definição de objeto filho do cliente. O cliente é um objeto de negócios que está no mesmo conjunto dos objetos Usuário e Dispositivo.
Meu problema está no cliente - quando eu chamo a operação do dispositivo
userProxy.GetAllDevices(user.Customer);
O compilador reclama com a seguinte mensagem:
Argumento 1 - Não é possível converter de UserService.Customer para DeviceService.Customer
Eu posso conectar a ambos os serviços bem, é a definição de objeto do cliente que é o problema. Eu realmente não quero colocar as Operações no mesmo serviço, pois elas parecem viver naturalmente em seus próprios serviços. Eu acho que o que eu estou perguntando é que como outros programadores lidam com tal problema?
Felicidades, Stuart