例如,我在 IIS 中托管了两个服务。
[ServiceContract]
public interface IDeviceService
{
[OperationContract]
DeviceCollection GetAllDevices(Customer customer);
}
[ServiceContract]
public interface IUserService
{
[OperationContract]
User Authenticate(string username, string password);
}
从 UserService 中的 Authenticate 操作返回的 User 对象和从 DeviceService 中的 GetAllDevices 操作返回的 DeviceCollection 都有一个 Customer 的子对象定义。Customer 是一个业务对象,与 User 和 Device 对象在同一个程序集中。
我的问题出在客户端 - 当我调用设备操作时
userProxy.GetAllDevices(user.Customer);
编译器抱怨以下消息:
参数 1 - 无法从 UserService.Customer 转换为 DeviceService.Customer
我可以很好地连接到这两个服务,问题是客户的对象定义。我真的不想把操作放在同一个服务中,因为它们似乎自然地生活在自己的服务中。我想我要问的是其他程序员如何处理这样的问题?
干杯,斯图尔特