例如,您有客户,订单和产品.您是否为每个这些业务实体创建单独的服务?
你应该为每一个创建一个服务合同,这是合乎逻辑的.但是,由于您必须明确指定您的服务将实现的合同...这种强制您为每个服务合同创建单独的服务,不是吗?
你能告诉我你将如何处理这件事吗?不知何故,为任何商业实体提供服务都感到笨拙... :-(
提前,非常感谢和问候.
服务对业务实体起作用,但不是业务实体.
因此,客户,订单和产品将是数据合同,而不是服务合同.
这是您对构成服务合同的数据合同执行的操作,您在实体上公开的操作可能与实体无关,也可能不是实体可以执行的所有操作.
如果我认为您可能会问,每个实体都有共同的功能(例如CRUD操作),那么您应该在每个实体(CustomerCRUDService,OrderCRUDService等)上为CRUD服务建立单独的服务联系人,因为Web服务不是t支持方法签名的重载.
(来自评论)
有几种方法.
1)复合服务合同:例如,我有一个实现WSTransfer的服务 - 它实际上由两个服务契约IWSTransferResource和IWSTransferFactory组成.反过来,我有一个IWSTransfer服务合同,它只是实现那些单独的合同 - 公共接口IWSTransfer:IWSTransferResource,IWSTransferFactory
2)但是你甚至不必复杂,WCF中的实现可以实现多个服务契约 - MyServiceImpl:IMyContract1,IMyContract2.但是,每个合同都需要一个单独的端点,因为端点用于服务合同,而不是实现类.