[英]Running a scheduled task in an ASP.NET MVC website
我正在研究一个网站的架构,我遇到过一些我以前从未用过ASP.NET的东西。 我想做的是每晚对数据库表中的实体运行查询,以检查日期列并执行X或Y操作,具体取决于日期。 基本上我想要一个晚上调用一次函数。 我搜索过的所有内容都引导我走向几个不同的方向,这些方向对于这样一个简单的动作来说似乎非常复杂,或者更倾向于排队工作,而这并不是我想要的。
欢迎任何建议,只需寻找最简单的方法。 谢谢!
我之前在项目上使用了Hangfire来做这样的事情。 它非常棒,并且将所有代码保存在一个解决方案中(不用乱搞Windows服务),我强烈推荐。
我可以想到三种不同的选择。
如果您正在进行的工作纯粹与数据库相关,那么大多数数据库平台(如Microsoft SQL Server,Oracle等)都可以安排定期运行的作业 。 这些作业可以是SQL语句或存储过程。 MS SQL Server还允许您从存储过程中调用C#代码,这将非常方便。
使用操作系统进行计划。 Windows有Windows Scheduler作业( AT
命令),Unix有cron作业。 您可以安排每晚运行一个可执行文件,它将运行C#代码或SQL代码。
编写自己的调度服务。 此服务将一直作为Windows服务运行,并定期执行一些代码。 查看调度框架,例如Quartz.net ,它可以帮助组织一些调度细节。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.