【发布时间】:2011-02-07 11:34:03
【问题描述】:
我有一个支持大约 10 个合同的 WCF 服务,我们一直在为一个客户提供特定于该客户的所有业务规则,现在我们有另一个客户将使用完全相同的合同(所以我们无法更改)他们将调用服务的方式与之前的客户端现在调用的方式完全相同,我们可以区分两个客户端的唯一方法是通过输入参数之一。基于这个输入参数,我们必须使用稍微不同的业务逻辑——两个客户端的逻辑在 50% 的时间里是相同的,其余的将有不同的逻辑(跨业务/DAL 层)。我不想在每个合约实现中使用 if else 语句来区分和重新路由逻辑以及如果另一个客户进来怎么办。有没有一种干净的方法来处理这样的情况。我正在使用框架 3.5。就像我说的,我不能为新客户更改任何合同(服务/数据合同)或当前的服务调用基础设施。谢谢
【问题讨论】: