• .net 定时服务


    namespace MvcApplication1 {    

        public class MvcApplication : System.Web.HttpApplication    

    {        

    protected void Application_Start()        

    {            

    AreaRegistration.RegisterAllAreas();

                WebApiConfig.Register(GlobalConfiguration.Configuration);  

               FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);      

           RouteConfig.RegisterRoutes(RouteTable.Routes);

                Time_Task.Instance().ExecuteTask += new System.Timers.ElapsedEventHandler(Global_ExecuteTask);  

               Time_Task.Instance().Interval = 1000 * 60;//表示间隔1分钟     

            Time_Task.Instance().Start();      

           //Time_Task.Instance().Stop();//结束定时

            }             

       public void Global_ExecuteTask(object sender, System.Timers.ElapsedEventArgs e)         {   

              //在这里编写需要定时执行的逻辑代码     

        }

        }

        public class 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 = value;             }         

        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;  

               }        

    }    

    }

    }

  • 相关阅读:
    git教程学习笔记(1)
    一句话懂什么是JS闭包
    attachEvent和addEventListener 的使用方法和区别
    地址栏中多个问号如何处理
    事件委托用法
    rem和em的区别
    echarts事件中获取当前实例
    this经典试题
    获取浏览器选中文本并操作
    android Activity launch mode 一个实例 singleInstance
  • 原文地址:https://www.cnblogs.com/yinchuan/p/5477577.html
Copyright © 2020-2023  润新知