采用Asp.net的定时处理方式,在WEB服务器层处理业务
核心处理就是System.Threading.Timer。这个定时类可以用于在后台定时执行用户提交操作,
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
它的使用方法:
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
System.Threading.TimerCallback t=new System.Threading.TimerCallback (你的处理方法);
System.Threading.Timer t = new System.Threading.Timer(t,null,1000,5000);
这一段说明是在启动1秒后每隔5秒就调用所指定的代理。
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
在具体实现时我定义了三个类。
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
1、BkExecItem用于保存用户提交操作,同时它也可以序列化到磁盘上,以免关键后台任务丢失。
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
2、BkExec用于执行。它通过反射来调用BkExecItem中所指定的方法。另外它中间还维护一个先入
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
先出队列Queue<BkExecItem>,这个队列记录全部的后台处理项。
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
3、BkManager完成定时器的初始化,模块的参数配置等功能。
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
呵,暂时总结到这里。下次我会将代码也贴上来,供大家参考下。
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
一个实用ASP.Net 后台处理类
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
呵.这回跟大家讨论下ASP.net 后台处理 ,并会把我们当前项目中应用的一个后台处理类的代码贴上来参考.
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
后台处理也是现在管理系统设计中需要考虑到的一个问题.
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
什么是后台处理,可以简单认为不是在用户进程处理中完成用户提交的操作,而是将这一处理放到服务端后台进程来处理.
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
加入后台处理后,可以提高前台用户的操作速度,改善用户操作体验.
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
对于一般用户来说他对于一个系统的基本要求就是响应及时,用户很难对一个提交操作后需要等待10秒以后的管理系统产生好感,但在实际系统运行中用户操作是很难在短时间内得到响应,所以这个时候后台处理就可以发挥作用了.
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
我在后面所帖代码中,将需要后台处理的任务均定义成一个ExecItem对象.用户提交操作后,系统将就操作转成一个ExecItem对象加入到BkExecManager(后台处理管理对象)中的一个先入先出的队列中.
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
网站在启动时会自动启动BkExecManager,而BkExecManager则启动一个定时器来定时处理后台任务队列.
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
在处理完成时BkExecManager就队列中移去任务对象,如果操作失败将以邮件方式通知管理员来完成问题处理.
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
呵.现在贴代码!
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
1,后台处理管理对象
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
![[转]ASP.net实现WEB站点的后台定时任务 [转]ASP.net实现WEB站点的后台定时任务](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9TDBsdFlXZGxjeTlQZFhSc2FXNXBibWRKYm1ScFkyRjBiM0p6TDA1dmJtVXVaMmxt)
public class BkExecManager
相关文章:
-
2022-12-23
-
2022-12-23
-
2022-03-09
-
2022-12-23
-
2021-06-09
-
2021-09-27
-
2022-03-03
-
2022-12-23
猜你喜欢
-
2022-12-23
-
2022-12-23
-
2021-08-01
-
2022-12-23
-
2021-12-12
-
2022-12-23
-
2021-10-05
相关资源
-
下载
2021-06-22
-
下载
2021-06-05
-
下载
2021-06-06