C# 定时执行一个方法

System.Timers.Timer timer = new System.Timers.Timer();  
timer.Enabled = true;  
timer.Interval = 60000;//执行间隔时间,单位为毫秒  
timer.Start();  
timer.Elapsed += new System.Timers.ElapsedEventHandler(Timer1_Elapsed);  
  
private void Timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)  
 {  
       
    // 得到 hour minute second  如果等于某个值就开始执行某个程序。  
    int intHour = e.SignalTime.Hour;  
    int intMinute = e.SignalTime.Minute;  
    int intSecond = e.SignalTime.Second;  
    // 定制时间; 比如 在10:30 :00 的时候执行某个函数  
    int iHour = 10;  
    int iMinute = 30;  
    int iSecond = 00;  
    // 设置  每秒钟的开始执行一次  
    if (intSecond == iSecond)  
    {  
        Console.WriteLine("每秒钟的开始执行一次!");  
    }  
    // 设置 每个小时的30分钟开始执行  
    if (intMinute == iMinute && intSecond == iSecond)  
    {  
        Console.WriteLine("每个小时的30分钟开始执行一次!");  
    }  
  
    // 设置 每天的10:30:00开始执行程序  
    if (intHour == iHour && intMinute == iMinute && intSecond == iSecond)  
    {  
        Console.WriteLine("在每天10点30分开始执行!");  
    }  
}   


 定时器的创建很简单,只要在Asp.NET的Global.asax中的Application_Start方法中加入如下代码就可以了。但本人我推荐推荐,对于一个Web站点来说,它所提供的是让用户去浏览它,但不是定时的去执行某样操作,如果你的网站已经达到一定的流量,请千万不要这样子做,把需要定时执行的操作写成服务吧。


下面我们来讲下如何在Asp.Net中加定时器,首先在Global.asax里创建一个方法,当然,你其它新建一个类,或者在已有类中写也是一样的。代码如下:


void demo_Elapsed(object sender, ElapsedEventArgs e)


{//需要执行的操作}


写完demo_Elapsed这个方法之后,就在Application_Start方法下添加如下代码:


Timer objTimer = new Timer();


objTimer.Interval = 1 * 1000;//每秒执行一次(这里单位是毫秒)


objTimer.Enabled = true;


objTimer.Elapsed += new ElapsedEventHandler(demo_Elapsed);//demo_Elapsed就是需要调用的方法


到此就已经完成了。


如果我们想指定一个时间来执行程序的话,我们可以从ElapsedEventArgs中取得,代码如下:


int hour = e.SignalTime.Hour;//时


int minute = e.SignalTime.Minute;//分


int second = e.SignalTime.Second;//秒


得到了时、分、秒之后,接下来的操作就简单了,只要对比你指定的时间就行了,代码我就不写了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值