【发布时间】:2011-07-09 01:30:06
【问题描述】:
我希望我的 ASP.NET MVC 应用程序每天执行一次查询。推荐的方法是什么?
我的第一个想法是在 Global.asax 中放置一个每 24 小时关闭一次的计时器,然后从 Elapsed 处理程序调用我的查询。这样做有什么陷阱吗?有没有更好的办法?
编辑
让我为我正在尝试做的事情添加一些细节。我特别希望查询在每天午夜执行。如果错过了一天(例如由于服务器维护或升级应用程序),那不会是一个大问题。
编辑 2
更多细节:
- 查询实际上是一个 INSERT,而不是一个 SELECT。目的是为任何将在月底更新其会员资格的会员添加“更新”记录。
- 我使用的是 SQL Server Compact(它是一个非常小的数据库)。
【问题讨论】:
-
如果您在专用服务器上运行您的网站,您可以考虑编写一个 Windows 服务来运行您的查询。这样您就不必担心 IIS 重新启动。即使您的网站由于某种原因关闭,您的服务仍然可以正常工作。
标签: c# .net asp.net-mvc asp.net-mvc-3 .net-4.0