如何让asp.net应用程序定时自动执行代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让asp.net应用程序定时自动执行代码相关的知识,希望对你有一定的参考价值。
参考技术A 首先,给你的web应用程序,添加一个“Global.asax”文件,这个类里面默认有一个“Application_Start”,我们就在这个方法里面添加定时程序的逻辑代码。这样,只要有一个人访问了这个web应用,就会启动这个定时程序。为了方便我们对定时程序的管理,我们单独编写一个类,专门用于控制定时程序。这个类中用的核心对象是System.Timers.Timer。下面说一下这个类设计的基本思路:ExecuteTask是一个公共的事件对象,以后调用者可以利用它来添加回调函数。_task是这个类型的唯一静态实例,调用者可以用Instance()方法读取它。_timer就是实现定时运行的对象,Interval是运行的间隔时间。publicclass
Time_Task
public
event
System.Timers.ElapsedEventHandler
ExecuteTask;
private
static
readonly
Time_Task
_task
=
null;
private
System.Timers.Timer
_timer
=
null;
private
int
_interval
=
1000;
public
int
Interval
set
_interval
=
;
get
return
_interval;
static
Time_Task()
_task
=
new
Time_Task();
public
static
Time_Task
Instance()
return
_task;
public
void
Start()
if(_timer
==
null)
_timer
=
new
System.Timers.Timer(_interval);
_timer.Elapsed
+=
new
System.Timers.ElapsedEventHandler(_timer_Elapsed);
_timer.Enabled
=
true;
_timer.Start();
protected
void
_timer_Elapsed(object
sender,
System.Timers.ElapsedEventArgs
e)
if(null
!=
ExecuteTask)
ExecuteTask(sender,
e);
public
void
Stop()
if(_timer
!=
null)
_timer.Stop();
_timer.Dispose();
_timer
=
null;
有了这个类型,我们可以在Application_Start方法中轻松的实现定时了。
请教asp.net后台服务器实现定时功能怎么实现,说下思路也行
asp.net后台服务器实现定时功能怎么实现?例如:一个办公系统有考勤,但是有人出差的话就无法手动登陆系统进行考勤,那怎么来让系统给正在出差的人自动考勤呢?说明:是不需要登陆系统,系统自己会执行的任务哦,也就是服务器端自动运行的。
出差的人会在数据库里标记,然后系统来给记录出差的人自动考勤谁来做这个标记呢?既然能标记,那为什么不在标记的时候就连接到系统的数据库中,将此人的考勤数据转化为正常考勤呢?因为每天都要考勤几次,我是想出差的人就在考勤时间点时系统自动考勤,每次都是的。知道出差结束。我不知道你们的考勤模式是什么样的?手动刷卡模式(刷指纹)?还是个人登陆系统做记录?出差是否要提前打申请,出差的时间是不是出差前就确定好的?个人登陆系统做记录。出差前要记录的。出差时间可以确定也可以不确定,现在就假设出差时间确定吧。 参考技术A 那出差和旷工你又怎么区别呢?不如就就直接对没有登录系统的做一个记录,如果有出差证明,就将这个记录转换为考勤正常记录,如果没有,那就在月结的时候转化为旷工记录?-0-#出差的人会在数据库里标记,然后系统来给记录出差的人自动考勤 参考技术B 既然都会在数据库里标记了,那么你完全可以在进行标记出差的时候,根据出差时间,直接进行打开,也就是标记出差的同时,进行打卡,无需什么定时你可能要考虑的就是如果出差时间有变的情况下,如何更新打卡时间 参考技术C 出差的人会在数据库里标记,然后系统来给记录出差的人自动考勤谁来做这个标记呢?既然能标记,那为什么不在标记的时候就连接到系统的数据库中,将此人的考勤数据转化为正常考勤呢?因为每天都要考勤几次,我是想出差的人就在考勤时间点时系统自动考勤,每次都是的。知道出差结束。我不知道你们的考勤模式是什么样的?手动刷卡模式(刷指纹)?还是个人登陆系统做记录?出差是否要提前打申请,出差的时间是不是出差前就确定好的? 参考技术D 这个我觉得在数据库做更好,做一个作业定时跑,结合用户表是否已出差的标记来更新考勤。以上是关于如何让asp.net应用程序定时自动执行代码的主要内容,如果未能解决你的问题,请参考以下文章