如何在一段时间内限制对WCF服务的调用?

时间:2008-10-26 19:39:42

标签: c# wcf enforcement

我想编写一个每小时运行时间超过X次的WCF服务。如果服务在过去60分钟内被调用超过x次,我希望服务将消息挂起到队列。

任何想法如何限制服务? 我愿意在WCF堆栈中编写自定义组件。

1 个答案:

答案 0 :(得分:1)

使用数据库,XML文件或其他一些数据存储区,记录每次调用服务的日期和时间,以及是否有任何工作。每次调用服务时:

  1. 检查数据存储中确实有效的记录计数 在最后60分钟内。
  2. 如果小于X,请继续工作,记录您的工作以及何时工作。
  3. 如果x以上将请求移至队列,请记录请求。
  4. 您还需要检查工作队列(Windows服务吗?),并确定队列中完成的工作是否与每小时X次相关。

    这一切都非常高,因为我们对您的项目HTH没有任何具体了解。