【发布时间】:2012-07-28 02:13:50
【问题描述】:
我正在尝试实现以下目标:我正在使用 MySQL 和 ASP.NET。我正在表格中创建一个计数器。我希望每天将计数器列重置为零。是否有任何选择可以实现这一目标以及如何实现。
我不想在 Windows 中使用管理任务,也不想创建 .exe 文件。我更喜欢能够在 C# 中的代码中做到这一点。
我想解决这个问题的方法是创建一个将设置为 false 的应用程序变量。在应用程序页面中,我将查询 DateTime.Now 并获取当前时间。如果时间是 12:00 并且 Application 变量为 false,则运行一个函数,否则,什么也不做。如果时间是 13:00 并且 Application 变量等于 false,则设置为 true。
我会在一小时内执行此操作,以确保它运行。每个访问我的页面的用户都会触发 if 语句。但是,该函数每天只运行一次。
这是一个好的解决方案吗?
【问题讨论】:
-
如果在那个小时内没有人访问您的应用程序,您会怎么做? ASP.net 不是为这类事情设计的,这就是计划任务/服务的用途。
-
Sם 我会进行 11 小时差异检查
-
为了创建调度程序,不需要exe甚至windows服务。您甚至可以安排您的 .aspx 页面本身。为什么你不能去调度程序?
-
正如 paddy 所说,asp.net 不是为此而设计的......问题是你永远不能确定你的应用程序不会在 12 到 13 之间被回收多次,即。您绝对无法控制生命周期
-
任何可靠的在线 cron 服务。有很多,大多数看起来很业余