每周都在做某事的MVC .NET Web应用程序

时间:2011-06-14 08:32:21

标签: c# asp.net-mvc-3

我正在使用MVC3 .NET构建Web应用程序

应用程序应以某种方式为每个用户保留每周待办事项列表。星期五,必须重置所有待办事项列表。

有人可以帮忙吗。

感谢

3 个答案:

答案 0 :(得分:2)

您可以查看Quartz.NET。这就是说,Web应用程序处理预定作业的罪魁祸首是Web服务器可以在某些情况下卸载此ASP.NET应用程序(内存或CPU阈值被击中,应用程序长时间不使用,... )。因此,建议开发一个单独的流程来执行这些任务。此过程可以托管在Windows服务中,该服务可以保证一直运行。

另一种可能性是简单地使用Windows Scheduler,以便每周启动一些自定义的可执行文件,这将执行必要的任务。

答案 1 :(得分:1)

如果这是一些数据库级任务,那么可能是一个预定任务(或nix上的crontab)。 MVC没有必要这样做。如果你真的想要,那么预定任务就可以在网站上点击一条路线。

但是,我个人只是使​​用周数(或开始日期)对数据进行分区,这样当我获取数据时,我就会得到本周开始的数据(你的约会对象)然后:

  1. 无事可做
  2. 您可以根据需要访问历史记录
  3. 即。将StartDate(或类似)添加为现有存储上的列,并使用它来选择最及时的数据。您 会收到有关“我需要上周数据”的电话 - 您也可以从一开始就构建它。除此之外......如果星期五没有做某事,那并不意味着它不复存在......

答案 2 :(得分:1)

您是否希望应用程序始终正常运行?如果周四到周五午夜没有人使用它怎么办?那你怎么能执行这些工作呢?

一般情况下,由于Web应用程序无法在任何给定时间运行,因此您无法依赖Web应用程序内的计时器。

我认为在这种情况下最好的解决方案是创建一个将安装在服务器上的Windows服务,并且总是按照定义运行...有点像一次又一次地重新发明相同的东西......

或者您也可以在Windows中设置一个计划任务来调用您的Web应用程序,每周五创建一个特定页面的请求,然后使用一些参数调用Web应用程序,您就可以执行所需的操作。