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