2012-03-05 80 views
1

我正在寻找最有效和最健壮的方式来处理ASP.NET MVC 3应用程序中计划任务的大量(100到300)的建议。如何处理100的计划任务使用ASP.NET MVC 3?

基本上用户可以创建一个帐户,并可以创建多个任务,每周或每天在指定时间运行一次。目前这项任务正在进行的是无关紧要的事情,但我们只是为了争辩而说这是一个预定的推特系统。

这些任务中的每一个都将存储在数据库中,但可能有数十个或数百个全部同时在一天内触发。

在过去,我已经使用服务器上的“任务计划程序”以一致且稳健的方式触发任务,当我说5到10个任务正在运行时,但现在它将进入100年代我正在寻找对于如何处理这种系统的一些坚实的建议,仅仅使用ASP.NET MVC 3,因为我不能依赖任务调度器了。 任何意见和建议非常感谢。

回答

3

我认为最好的是创建一个windows服务来处理这个问题。通过这种方式,它独立于Web应用程序(毕竟主要是用户界面)。

如果你在一个共享的主机(所以你不能访问安装Windows服务),那么一切调度相关(使用像quartz.net或定制解决方案库)我认为这是最好的包装一个单例实例,可能存储在一个静态变量中。