ASP .NET MVC - 我应该运行后台计时器

时间:2013-02-12 21:31:12

标签: asp.net-mvc timer

我需要在网站运行时在后台进行一些处理。每30分钟我需要运行一段与数据库交互的代码。

使用每30分钟执行一次代码的计时器还是可以的吗?或者有更好的方法吗?如果计时器可以实现,我想在Global.asax文件夹的Application_Start()函数中实现它。

根据我的阅读,计时器不会导致性能问题,因为在大多数情况下,它实际上并没有运行任何代码。

我一直在寻找但找不到与MVC有关的任何内容。不确定是否重要。

1 个答案:

答案 0 :(得分:8)

如果你真的打算将它构建到asp.net,请看看Haacked的文章 The Dangers of Implementing Recurring Background Tasks In ASP.NET

他概述了危险和一些可以打击它们的方法,否则正如其他人建议服务/计划任务是一个更好的解决方案。

或者,如果您沿着Windows服务路线走下去,请查看TopShelf它的框架,该框架可让您轻松地在开发中将服务作为控制台应用程序运行,同时仍允许它们轻松安装在服务器上