2011-06-14 82 views
1

,做什么我建立使用MVC3 .NETMVC的.NET Web应用程序每周

的应用程序应该以某种方式继续为每个用户每周待办事项列表的Web应用程序。在星期五,所有待办事项列表必须重置。

有人可以帮忙。

感谢

回答

1

如果这是一些数据库级任务,那么可能是一个预定任务(或nix上的crontab)。 MVC不需要这样做。如果你真的需要,计划任务可能只是在网站上点击一条路线。

但是,我个人简单地用一个星期数(或开始日期)对数据进行分区,这样当我得到数据时,我得到了开始一周的数据(你的日期) 。然后:

  1. 没有什么可以做的
  2. 您可以访问历史,需要

即添加StartDate(或相似)在你现有的存储列,并用它来选择最及时的数据。你打电话关于“我需要上周的数据” - 你可能从一开始就建立它。此外......如果周五没有完成,这并不意味着它不再存在...

2

你可以看看Quartz.NET。这就是说,由Web应用程序处理预定作业的罪魁祸首是Web服务器可能会在某些情况下卸载此ASP.NET应用程序(内存或CPU阈值被击中,应用程序很久没有使用,... )。出于这个原因,建议开发一个独立的进程来执行这些任务。这个过程可以托管在例如保证随时运行的Windows服务中。

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

+0

您可能还会发现[this](http://asmiki.com/2011/05/25/using-quartz-net-enterprise-scheduler-to-schedule-jobs-in-asp-net-mvc-application /)链接有帮助。 – wooncherk 2011-06-14 09:08:15

1

你期望应用程序始终处于运行状态吗?如果没有人在周四和周五的午夜之间使用它,该怎么办?你怎么能执行这些工作?

一般而言,由于Web应用程序在任何给定时间都没有确定运行,所以不能依赖Web应用程序内部的定时器。

我认为在这种情况下,最佳的解决方案将可以创建,这将在服务器上安装并按照定义始终运行Windows服务......有点像一次又一次重塑同样的事情...

或者你也可以在Windows中设置一个计划任务来调用你的Web应用程序,每个星期五创建一个特定页面的请求,然后Web应用程序被调用一些参数,你可以做你需要的。