WCF数据服务中的重复操作

时间:2014-06-30 18:58:55

标签: wcf-data-services

我有一个WCF数据服务Web服务,并且有一些代码应该每10分钟执行一次。我想知道如何在不影响服务性能的情况下实现这一目标。

如果您能给我一些提高服务性能的一般提示,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

WCF数据服务并没有任何设施可以做到这一点,它只关心接口OData请求。因此,您正在寻找的解决方案很可能取决于主机。

如果您正在使用ASP.NET / IIS,那么 可以通过某些方式来安排异步操作。虽然我从未亲自尝试进行此类经常性操作,但我认为这是可行的。查看QueueBackgroundWorkItem之类的内容,并考虑在操作之间使用计时器。

话虽这么说,ASP.NET和IIS基本上也是关于响应HTTP请求,因此(在我看来)不是安排和运行重复任务的正确位置。如果您的托管服务提供商不允许访问基本机器,您可能无法选择,但您仍应考虑是否可以从其他服务器完全启动该操作。

现在关于用于这种功能的技术;我说Windows Server调度程序与任何启动(或* nix cron)一样好,尽管您可以在各种平台(而不仅仅是专用机器)上找到各种服务。例如,Azure平台具有WebJobs,允许您在Azure网站上安排HTTP请求(如果适用于您)。

您可能会发现this article有趣,因为它引用了这些方法。