繁体   English   中英

在ASP.NET MVC网站中运行计划任务

[英]Running a scheduled task in an ASP.NET MVC website

我正在研究一个网站的架构,我遇到过一些我以前从未用过ASP.NET的东西。 我想做的是每晚对数据库表中的实体运行查询,以检查日期列并执行X或Y操作,具体取决于日期。 基本上我想要一个晚上调用一次函数。 我搜索过的所有内容都引导我走向几个不同的方向,这些方向对于这样一个简单的动作来说似乎非常复杂,或者更倾向于排队工作,而这并不是我想要的。

欢迎任何建议,只需寻找最简单的方法。 谢谢!

我之前在项目上使用了Hangfire来做这样的事情。 它非常棒,并且将所有代码保存在一个解决方案中(不用乱搞Windows服务),我强烈推荐。

我可以想到三种不同的选择。

  1. 如果您正在进行的工作纯粹与数据库相关,那么大多数数据库平台(如Microsoft SQL Server,Oracle等)都可以安排定期运行的作业 这些作业可以是SQL语句或存储过程。 MS SQL Server还允许您从存储过程中调用C#代码,这将非常方便。

  2. 使用操作系统进行计划。 Windows有Windows Scheduler作业( AT命令),Unix有cron作业。 您可以安排每晚运行一个可执行文件,它将运行C#代码或SQL代码。

  3. 编写自己的调度服务。 此服务将一直作为Windows服务运行,并定期执行一些代码。 查看调度框架,例如Quartz.net ,它可以帮助组织一些调度细节。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM