持续运行的Web服务

时间:2016-02-16 15:48:23

标签: c# asp.net web-services web-scraping

我在一个普通的Web Scraper网站上写了ASP.Net/C#。它工作得很好,完全符合我的要求,但有一个小问题。

我希望每天跑两次。所有的代码都已到位,但我无法找到一个解决方案,让它每天运行两次(上午10点和晚上10点)。

Web服务是解决方案吗?你能把它们设定为按预定时间运行吗?

有什么想法吗?

4 个答案:

答案 0 :(得分:1)

在基于Linux的系统上,您通常使用 cronjob 。在基于Windows的系统上,您可以使用 scheduled task

以下是关于如何create a scheduled task的文档。

从命令行:

schtasks /Create [/S <system> [/U <username> [/P [<password>]]]]
[/RU <username> [/RP <password>]] /SC <schedule> [/MO <modifier>] [/D <day>]
[/M <months>] [/I <idletime>] /TN <taskname> /TR <taskrun> [/ST <starttime>]
[/RI <interval>] [ {/ET <endtime> | /DU <duration>} [/K] [/XML <xmlfile>] [/V1]]
[/SD <startdate>] [/ED <enddate>] [/IT] [/Z] [/F]

有关参数的更多详细信息,请参阅documentation

因此,在您的示例中,您需要使用schtasks /Create /SC DAILY /TN "Your TaskName" /TR "Path and Executable to be run" /ST 10:00指定第一个任务,使用schtasks /Create /SC DAILY /TN "Your TaskName" /TR "Path and Executable to be run" /ST 22:00指定第二个任务。

答案 1 :(得分:1)

是的,你可以。 我在Asp.Net网站上为此目的使用了Nuget包(Quartz.Net SchedulerFluentScheduler)。 两者都有很多可用于根据日/时/月等安排的选项。 唯一的问题是您需要确保AppPool不会定期回收,这是默认设置。

答案 2 :(得分:1)

由于你的应用程序&#34;是一个Web应用程序而不是Windows可执行文件,您仍然可以使用Windows任务计划程序按计划打开您的网页。

将操作指定为&#34;启动程序&#34;并将程序/脚本指定为IE:&#34; C:\ Program Files \ Internet Explorer \ iexplore.exe&#34;

输入网页的URL作为参数,然后单击“确定”。

enter image description here

答案 3 :(得分:0)

如果您使用的是Windows,请使用Windows任务计划程序安排每天运行两次应用程序。