设计特殊的WCF服务

时间:2011-10-19 22:21:53

标签: wcf

我需要实现一个WCF服务,该服务又调用第三方Web服务来获取某些XML结果。客户端调用来自Windows WF应用程序&对于来自同一个parentID的客户端调用,每个ParentID应该只有一个调用,我会解释,

MainID1 \ SubID1&不同进程上的MainID1 \ SubID1调用WCF服务获取结果&如果MainID1 \ SubID1是第一个进行呼叫的话,MainID1 \ SubID2应该等到第一个呼叫完成。如果我们从第一次呼叫中获得了预期的结果,那么这个想法是为了防止对第三方Web服务进行不必要的调用。

但是如果有MainID2 \ SubID1,MainID2 \ SubID2,MainID2 \ SubID3调用,则应该由WCF服务的其他实例提供服务。

简而言之:

  1. 相关请求应由WCF服务的一个实例按顺序处理
  2. 不相关的请求应由单独的实例
  3. 处理

    对不起,如果没有说清楚,不能自由使用实际的商业条款(这可能有助于更好地定义相关和无关的客户)。

    这真的有可能吗?

1 个答案:

答案 0 :(得分:0)

是的,你可以做到这一点,但这不会是微不足道的。基本上,您需要在WCF Web服务和第三方服务之间使用另一个组件来处理您描述的限制/锁定行为。该组件需要为每个唯一组合创建一个对象,然后将其用作出站呼叫的锁定保护。

意识到这显然是多线程开发,如果你对周围的想法没有经验,很难测试,并且容易出错。你想要确保你在锁定时进行双重检查锁定。