配置Web服务和方法以定期运行

时间:2014-08-22 12:14:45

标签: c# web-services sql-server-2008 iis iis-express

我想在应该定期运行的Web服务中自动化Web方法。我还需要在运行时传递一些参数。

一些细节:

  1. 我的开发机器有Visual Studio 2012 Professional和IIS 快递安装。
  2. 生产服务器具有IIS 7.
  3. SQL Server Express 2008 as RDBMS。
  4. 参数应该从表格中获取 本地数据库,可能会有变化。
  5. 表格中的两个字段( execution_periodic_basis execution_day )用于指示网络何时该方法应该运行,即每周可以是星期一到星期日运行,或者每月运行1到28天。
  6. 实现这一目标的最佳方法是什么?如果您根据自己的经验对更好的方法有任何建议,我们将非常感谢。

    任何提示或链接都将受到欢迎。

3 个答案:

答案 0 :(得分:1)

我建议使用IIS7.5 AutoStart http://msdn.microsoft.com/en-us/library/ee677260(v=azure.10).aspx站点,然后使用该站点轮询SQL Server数据库。当计划与其日志和当前时间匹配时,此AutoStart应用程序(相当于Windows服务的Web)可以调用您指定的URL。

答案 1 :(得分:1)

听起来你需要设置计时器(所以要提前进行下一次检查,然后设置它们),或者每隔x个时间一次,看看是否需要完成。

我可能会使用带有计时器的后台线程并在其间休眠。

话虽如此,我不确定这个问题会得到多少爱,因为它不是最好的“合适的”。

答案 2 :(得分:0)

使用Windows服务。 Web服务不是为此任务而设计的!