11

我在 Windows 机器上运行 .NET,我希望每晚午夜运行一个函数。当然,由于 HTTP 无状态和 Windows 没有“cron 作业”类型的功能(据我所知),我要么必须在每晚午夜自己访问我的站点,要么只是等待用户访问该站点以依赖关于它正在更新。

我可以创建一个替代方案,在某个时间自动运行某些东西吗?

4

12 回答 12

12

我很确定 Windows 的任务调度程序可以做 cron 可以做的大部分事情。但我可能会遗漏一些东西。

编辑:到达设置->控制面板->计划任务

于 2009-05-11T23:48:19.160 回答
7

如果其他答案都不适合您,这里有一个选项:

有一堆服务器监控服务会定期(如果你愿意的话,每分钟)对你的网站进行一次 http 调用。您可以在其中一些上免费获得 5 分钟的间隔。

创建一个受密码保护的页面,该页面执行您的功能(如果今天尚未完成)并将该服务指向它。

至少这样你就不需要写任何额外的东西,而且你可以放心,因为它不依赖于你的家用机器。

于 2009-05-12T23:32:06.137 回答
5

Jeff Attwood 在播客中的某个时候提到了一个肮脏的黑客,使用缓存过期回调来伪造这个。

他会在 .Net 的缓存中插入一个项目,过期设置为 2 小时,一旦项目过期,就会调用回调,这就是他的 cron。

我认为这是文章:
http ://www.codeproject.com/KB/aspnet/ASPNETService.aspx?display=Print

如果您问我,这很糟糕,但是对于共享托管解决方案,我想不出更好的办法。

此外,您可以向某些外部 cron 服务提供 URL,它们会定期“ping”它,例如:(这些不是免费的)
http://webcron.org/
http://www.webbasedcron.com/

于 2009-05-12T00:32:31.490 回答
1

这是在任务计划程序中以编程方式添加/删除和管理任务的起点。

http://www.codeproject.com/KB/system/taskscheduler.aspx

于 2009-05-12T00:04:18.650 回答
1

如果你有命令行访问权限,你可以试试“at”命令,它就像一个超轻的 cron:

http://support.microsoft.com/kb/313565

于 2009-05-12T00:58:02.620 回答
1

您还可以查看 Quartz .Net http://quartznet.sourceforge.net/这是一个调度程序

于 2009-05-12T01:26:50.217 回答
1

cron的windows 等效项是 At。如果您可以访问机器。

于 2012-02-17T15:52:14.813 回答
0

使用Timer类创建一个定时调用要执行的方法的定时器。

静态定时器可以在 Global 类的 Application_Start 事件中启动。因为计时器使用间隔而不是绝对时间,所以您必须计算直到午夜的时间间隔并相应地设置Interval属性。

于 2009-05-12T00:09:12.573 回答
0

看起来GoDaddy 对此有规定,但方法不止一种:安装 Drupal 时,它需要您设置一个 cron 作业,我发现项目成员已经彻底记录了这一步。访问http://drupal.org/cron获取更多信息,并记住阅读http://drupal.org/node/31506以获取特定的 Windows 信息。如果一切都失败了,谷歌搜索“web cron job”并使用商业“cron job”服务。慎重选择,别被坑了。

于 2009-05-12T00:26:43.810 回答
0

我也面临同样的问题。我想在 GoDaddy 上用 MSSQL 运行 ASP.NET。但是他们没有用于 Windows 托管的计划任务。看完帖子后,我自己google了一下,找到了这个免费的网络cron作业调度器:

我刚试过,效果很好……差不多。该工作将在 1 年内到期。

http://www.setcronjob.com/

希望能帮助到你。

于 2009-06-16T15:48:00.790 回答
0

在寻找同一个问题的答案时,我发现这篇文章 (quartz-net-with-asp-net)带有Quartz.NET的设置说明(“Enterprise Job Scheduler for .NET Platform”,来自他们的网站),甚至来自ASP.NET 应用程序。

在这里添加主要是为了参考。

于 2010-09-25T08:46:12.660 回答
-1

为什么不安装 cygwin 并使用 cron 本身?

这是有关设置的pdf指南:

http://csc.csudh.edu/kleyba/cygwin-cron.pdf

于 2009-05-12T23:25:36.193 回答