Csharp/C#教程:c#定时器和global实现自动job示例分享

一、创建一个cs文件,定义Time对象
代码如下:
 publicclassWebTimer_AutoRepayment
{
   staticWebTimer_AutoRepayment()
   {
       _WebTimerTask=newWebTimer_AutoRepayment();
   }
   ///<summary>
   ///实例化
   ///</summary>
   ///<returns></returns>
   publicstaticWebTimer_AutoRepaymentInstance()
   {
       return_WebTimerTask;
   }

   ///<summary>
   ///实际执行的方法
   ///</summary>
   privatevoidExecuteMain()
   {
       //定义你自己要执行的Job
       ChinaPnrInterfaces.AutoSendRepaymentNotice();//定时发送短信提醒的方法
   }
   #regionTimer计时器定义
   ///<summary>
   ///调用callback的时间间隔(以毫秒为单位)。指定Timeout.Infinite可以禁用定期终止。
   ///</summary>
   privatestaticintPeriod=1*60*60*1000;
   ///<summary>
   ///调用callback之前延迟的时间量(以毫秒为单位)。指定Timeout.Infinite以防止计时器开始计时。指定零(0)以立即启动计时器。
   ///</summary>
   privatestaticintdueTime=3*1000;//三分钟后启动
   ///<summary>
   ///第几次执行
   ///</summary>
   privatelongTimes=0;
   ///<summary>
   ///实例化一个对象
   ///</summary>
   privatestaticreadonlyWebTimer_AutoRepayment_WebTimerTask=null;
   privateTimerWebTimerObj=null;
   ///<summary>
   ///是否正在执行中
   ///</summary>
   privateint_IsRunning;
   ///<summary>
   ///开始
   ///</summary>
   publicvoidStart()
   {
       if(WebTimerObj==null)
       {
           DateTimenow=DateTime.Now;
           intminutes=now.Minute;
           if(minutes>=55)
           {
               dueTime=0;//立即启动
           }
           else
           {
               dueTime=(55-minutes)*60*1000;//到某个时间点的55分钟启动
           }
           WebTimerObj=newTimer(newTimerCallback(WebTimer_Callback),null,dueTime,Period);
       }
   }
   ///<summary>
   ///WebTimer的主函数
   ///</summary>
   ///<paramname=”sender”></param>
   privatevoidWebTimer_Callback(objectsender)
   {
       try
       {
           if(Interlocked.Exchange(ref_IsRunning,1)==0)
           {
               ExecuteMain();
               Times++;
               Times=(Times%100000);
           }
       }
& nbsp;      catch
       {
       }
       finally
       {
           Interlocked.Exchange(ref_IsRunning,0);
       }
   }
   ///<summary>
   ///停止
   ///</summary>
   publicvoidStop()
   {
       if(WebTimerObj!=null)
       {
           WebTimerObj.Dispose();
           WebTimerObj=null;
       }
   }
   #endregion
}

二、在Global文件中调用所定义的方法

代码如下:
 voidApplication_Start(objectsender,EventArgse)
   {
       //在应用程序启动时运行的代码
       WebTimer_AutoRepayment.Instance().Start();//
   }
   voidApplication_End(objectsender,EventArgse)
   {
       //在应用程序关闭时运行的代码
       WebTimer_AutoRepayment.Instance().Stop();//
   }

您可能感兴趣的文章:c#定时器使用示例详解C#定时器实现自动执行的方法c#一个定时重启的小程序实现代码c#定时运行程序分享(定时程序)ASP.NET(C#)定时执行一段代码C#实现判断一个时间点是否位于给定时间区间的方法C#多线程学习之(五)使用定时器进行多线程的自动管理C#定时器定时更新的简单实例c#在windows服务中使用定时器实例代码windows下C#定时管理器框架Task.MainForm详解

标签: 定时器 示例 global c# al 自动

C语言中的各种文件读写方法小结

c#通过ip获取地理信息

上述就是C#学习教程:c#定时器和global实现自动job示例分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ctvol.com/cdevelopment/905314.html

(0)
上一篇 2021年10月22日
下一篇 2021年10月22日

精彩推荐