2

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

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

4

1 回答 1

1

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

  1. 检查数据存储中在过去 60 分钟内有效的记录数。
  2. 如果小于 X,做工作,记录你做了什么,什么时候做的。
  3. 如果超过 x 次将请求移动到队列中,则记录该请求。

您还需要检查要完成的工作队列(Windows 服务?),并确定队列中完成的工作是否计入每小时 X 次。

这都是非常高级的,因为我们对您的项目 HTH 一无所知。

于 2008-10-26T20:38:48.530 回答