我们的 WCF 服务解决方案由三个项目组成:
- 业务逻辑 (
AddressChangeBL&AddressBL) - 实体 (POCO) (
Address) - 服务 (
AddressChangeService&AddressService)
现在,服务项目有两个独立的服务,每个服务都暴露同一个实体。当我在 ASP.Net 应用程序中引用该服务时,通过两个不同的命名空间 ( AddressChangeService.Address& AddressService.Address)引用了同一个实体
在我的代码中,我需要向这两个服务发送一个Address实体。先看方法,再看方法。AddressService.IsValidAddressChangeService.UpdateAddress
尽管在服务中,Address实体是同一个类,但在 ASP.Net 应用程序中,它们是两个不同的类。
我该如何解决这个问题?
我知道一些解决方法,但没有一个对我们有好处:
- 直接使用
Entities程序集添加对实体的引用,而不是通过服务。这对我们来说不是一个可接受的解决方案,因为我们的需求要求我们使用由 WSDL 创建的实体。 - 将
IsValid()方法从AddressService移到AddressChangeService。这也是不可接受的,因为它违反了我们期望的关注点分离。
如果可能的话,我想要一个“解决方案”而不是“解决方法”。