日期:2014-05-16  浏览次数:20352 次

B/S架构的程序中,如何处理后台定时周期性任务?
我做C/S架构比较多,基于桌面的.NET程序,很容易通过定时器等等东西来完成周期性定时执行的处理,

但是现在初次转到B/S架构下做,业务逻辑完全是用户输入所驱动的,请问,以ASP.NET MVC2 为例,请问该在哪儿做周期性定时执行的业务逻辑?

如果贴一点代码就更好了,非常感谢.
------解决方案--------------------
javascript也有定时啊, setInterval,然后定时用ajax去请求数据,当然asp.net中也可以使用timer
------解决方案--------------------
b/s里同样可以使用timer啊!~
------解决方案--------------------
用ajax吧~~
------解决方案--------------------
如果是你们自己的服务器 可以写一个exe或者service来运行..

或者application_start里面实例化timer(不需要访问)

或者是sql作业(定时调用webservice处理)

实际上 我个人认为 还是第一种情况好点...
------解决方案--------------------
使用JS的话,只能打开某个页面才能定时执行??
------解决方案--------------------
引用:
谢谢大家的帮助,现在这一块逻辑并非是客户请求发出的,要保证即使用户没有做页面访问,后台也要定时刷新数据,所以貌似不能用AJAX。本来打算是在服务器上做个小程序专门处理这个事情的,但是感觉有点乱了,想能不能也放在ASP.NET的架构中来。我想ASP.NET中肯定也可以用TIMER,但是就是不清楚,每天后台定时周期性做的一个任务,需要放在哪儿处理比较好。

b/s不适合做这种功能,你所说的可以做一个服务,或者控制台程序放到任务计划里面
------解决方案--------------------
添加一个全局性的Global.asax 

// 在应用程序启动时运行的代码下面
写一个固定时间启动事件
------解决方案--------------------
做成  exe

然后定时  用 System.Net.WebClient  访问你要执行的aspx文件

逻辑改变时,  修改执行相关任务的aspx即可,  这样exe不用重新编写
------解决方案--------------------
Refer :
http://www.cnblogs.com/insus/p/3474472.html
http://www.cnblogs.com/insus/p/3658752.html