首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

Asp.net设定时间执行程序(定时施行)

2012-12-23 
Asp.net设定时间执行程序(定时执行)最近做**中的项目,项目要求到一定的时间后,程序自动执行操作。定时操作

Asp.net设定时间执行程序(定时执行)

        最近做**中的项目,项目要求到一定的时间后,程序自动执行操作。定时操作的这类程序,可以用System.Timers命名空间的Timer类解决这类问题。

        用Timer解决问题的思路很简单,首先设定Timer类的Interval属性(单位是毫秒),也就是时间间隔;然后在Timer的Elapsed的事件里写执行代码,每过一个设置好的Interval时间间隔,将执行一次Elapsed中的事件 (这和VB程序中的Timer控件基本没有区别)。

        那知道了用什么类,这些代码要写在哪里呢?把代码写在Global.asax件中,在VS的项目上右键,点添加--》新建项,选“全局应用程序类”,项目中就会有Global.asax文件了。

 

为了表达清楚直接上代码(首先在Global.asax文件头部引入system.Timers命名控件):

    public class Global : System.Web.HttpApplication    {        //在网站运行时这段代码同时启动        protected void Application_Start(object sender, EventArgs e)        {                        System.Timers.Timer objTimer = new System.Timers.Timer();            objTimer.Interval = 60*1000;    //这个时间单位:毫秒            objTimer.Enabled = true;        //设置Timer类的可用性            //将Timer的Elapsed事件绑定到新建立的timer对象上            objTimer.Elapsed += new ElapsedEventHandler(objTimer_Elapsed);         }

 下面是在Timer的Elapsed事件中的代码

void objTimer_Elapsed(object sender, ElapsedEventArgs e){                        string Time = DateTime.Now.ToShortTimeString();//获得当前时间//从配置文件里获得当前设置的时间。            string OrderTime = ConfigurationManager.AppSettings["OrderFoodTime"];            /*测试数据*/            if(Time.Equals(OrderTime))            {                //如果时间相等,执行你要执行的操作,这里可以调用你程序中的其他类的方法            }}


这样就能达到定时执行程序的目的了。

 

这是用在我项目中的定时执行,在论坛里问关于定时执行的方案,也有人说用windows服务比较安全,暂时还没有研究这一种,呵呵。

 

 

 

1楼lfmilaoshi6天前 23:01
VB就学习了TIMER,还记得吗n米老师

热点排行