【发布时间】:2011-08-12 21:28:44
【问题描述】:
嘿,我有一个 .NET .aspx 页面,我想每隔一小时左右运行一次,最好的方法是什么?
我认为它必须打开一个浏览器窗口才能这样做,如果可能的话,它会在之后关闭窗口。
编辑:我可以访问服务器上的所有功能
【问题讨论】:
嘿,我有一个 .NET .aspx 页面,我想每隔一小时左右运行一次,最好的方法是什么?
我认为它必须打开一个浏览器窗口才能这样做,如果可能的话,它会在之后关闭窗口。
编辑:我可以访问服务器上的所有功能
【问题讨论】:
选项 1:最简洁的解决方案是编写一个 Windows 应用程序来完成这项工作(而不是一个 aspx 页面)并使用 Windows 任务计划程序在服务器上安排该应用程序。这与 aspx 方法相比有一些优点:
当然,也有缺点:
选项 2:如果您需要坚持使用 aspx 页面,最简单的解决方案可能是在计划任务中通过命令行 Web 客户端调用该页面。由于 Windows 不提供任何内置的命令行 Web 客户端,因此您必须下载诸如 wget 或 curl 之类的客户端。这个相关的 SO 问题包含必要的命令行语法:
【讨论】:
使用此示例在 asp.net 中安排任务:
然后你需要创建Hit.aspx 页面,女巫会做你想做的事。那么您应该每次(使用WebClient 类)任务执行时间过去时调用该页面!
【讨论】:
您可以使用http://quartznet.sourceforge.net/ Quartz Job Scheduler。
使用 Quartz.net,您可以编写一个作业,该作业会以您选择的时间间隔请求您的网页。
或者您也可以编写一个将请求该网页的 Windows 服务。
【讨论】: