ASP.NET:计划任务

Posted

技术标签:

【中文标题】ASP.NET:计划任务【英文标题】:ASP.NET: Scheduled tasks 【发布时间】:2011-01-22 13:37:22 【问题描述】:

虽然经济一直处于低迷状态,但我为希望用流行语修饰简历的失业开发人员编写了可能是有史以来最酷的网站。 (不要恨玩家,恨游戏。)

唯一的问题是,它需要一个计划任务每​​天运行一次来​​进行一些数据挖掘。几个月前,我花了很多很多时间研究解决方案,但似乎没有什么是万无一失的。

如果我有共享主机并且无法远程进入(例如mstsc 并创建计划任务),我如何创建一个每天在 ASP.NET 网站后端运行一次的任务?

经过我所做的所有研究,我认为这是不可能的。根据我的最后分析,有人必须每天至少访问该站点一次才能实例化 HttpApplication 实例。

有没有人有任何解决方案来确保操作自动运行,无论是否有人访问该站点,并且除了 FTP 访问该网站之外没有其他任何东西?

就像我说的那样,我过去已经对此进行了很多研究,但似乎不可能。如果您有实施解决方案的经验,请提供您的建议!但不需要假设或推测——它比你想象的要微妙和困难得多。

【问题讨论】:

【参考方案1】:

您可以使用ATrigger 调度服务。 .Net library 也可用于创建计划任务而无需开销。

您可以设置为每 1 天调用一次您的数据挖掘 URL。 相关示例:http://atrigger.com/docs/wiki/17/use-case-delayed-processing

好处:

报告 错误日志 任务列表 出色的计时功能

免责声明:我是 ATrigger 团队的一员。这是一个免费软件,我没有任何商业目的。

【讨论】:

【参考方案2】:

我同意 HackedByChinese,但如果您不想从桌面运行它,您可以使用 http://aremysitesup.com/ 之类的东西来为您 ping 您的网站。

【讨论】:

【参考方案3】:

你能在 SQL Server 中安排一个可以调用 CLR 函数的任务吗?您的托管服务提供商可能不允许这两者中的任何一个,但如果他们允许,那么您就是黄金。

【讨论】:

【参考方案4】:

DotNetNuke 是一个流行的开源 .net 内容管理系统。你可以下载源代码,看看他们是如何做到的。

【讨论】:

【参考方案5】:

您可以查看Quartz.NET 来安排作业。

【讨论】:

【参考方案6】:

我遇到了类似的问题。我编写了一个便宜的实用程序,它会定期从我的桌面向我的网络应用发出网络请求。

How To: Send Data Using the WebRequest Class

【讨论】:

你先生,我想,有唯一的解决办法。这是我最后一次花了整整一周时间评估和设计可能的解决方案的原型时得出的结论。 +1 如果我使用的是注册帐户。

以上是关于ASP.NET:计划任务的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC计划任务实现方法(定时执行某个功能)

在asp.net mvc 3中的后台作业/计划任务中发送电子邮件

使用 Web 应用程序进行计划任务的最佳方法 [重复]

C# 计划任务系列

计划任务:服务/DLL/控制台应用程序

asp.net中调度任务的方式(不写windows scheduler)