zoukankan      html  css  js  c++  java
  • Windows服务定时执行方式

    采用System.Timers.Timer 间隔固定时间执行

    方式一:间隔固定的时间执行一次,关键代码:

    protected override void OnStart(string[] args)  
    {  
        EventLog.WriteEntry("我的服务启动");//在系统事件查看器里的应用程序事件里来源的描述  
        writestr("服务启动");//自定义文本日志  
        System.Timers.Timer t = new System.Timers.Timer();  
        t.Interval = 1000;  
        t.Elapsed += new System.Timers.ElapsedEventHandler(ChkSrv);//到达时间的时候执行事件;   
        t.AutoReset = true;//设置是执行一次(false)还是一直执行(true);   
        t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;   
    }

    方式二、根据时分秒在固定时刻执行一次,关键代码:

            private System.Timers.Timer time;
            protected override void OnStart(string[] args)
            {
                time = new System.Timers.Timer(1000 * 60);
                time.Elapsed += this.ElapsedEvent;
                time.AutoReset = true;
                time.Enabled = true;
            }
    
            private void ElapsedEvent(object sender, ElapsedEventArgs e)
            {
                int intHour = e.SignalTime.Hour;
                int intMinute = e.SignalTime.Minute;
    
                if (intHour == 8 && intMinute == 00)
                {
                    try
                    {
                        System.Timers.Timer tm = sender as System.Timers.Timer;
                        tm.Enabled = false;
                        
                        //执行方法
                        DoSomething();
    
                        tm.Enabled = true;
                    }
                    catch(Exception ex)
                    {
                        Log.OutputError(ex.Message);
                    }
                }
            }
  • 相关阅读:
    4.28综合练习
    团队项目第一阶段冲刺第六天
    4.27防盗链和代理
    梦断代码阅读笔记3
    团队项目第一阶段冲刺第五天
    4.26抓取猪⼋戒数据
    团队项目第一阶段冲刺第四天
    4.25xpath解析
    4.24aiohttp模块学习
    如何将类数组转化为数组?
  • 原文地址:https://www.cnblogs.com/NichkChang/p/5606359.html
Copyright © 2011-2022 走看看