2

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

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

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

我一直在搜索,但找不到任何与 MVC 相关的内容。不确定这是否重要。

4

1 回答 1

8

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

他概述了危险以及一些可以对抗它们的方法,否则正如其他人所建议的那样,服务/计划任务是更好的解决方案。

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

于 2013-02-12T22:33:08.117 回答