c#每天定时执行任务

就喜欢直接粘代码:

 

在 Global.asax 中定义定时器,定时调用方法


        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();

            //AddCount(null, null);//需要立即执行  
            System.Timers.Timer timer = new System.Timers.Timer(29*60000);
            timer.Elapsed += new System.Timers.ElapsedEventHandler(AddCount); //AddCount是一个方法,此方法就是每个6分钟而做的事情  
            timer.AutoReset = true;
            //给Application["timer"]一个初始值  
            
            timer.Enabled = true;
        }
        private void AddCount(object sender, ElapsedEventArgs e)
        {
            int intHour = e.SignalTime.Hour;
            int intMinute = e.SignalTime.Minute;
            int intSecond = e.SignalTime.Second;

            Application.Lock();
            if ( intHour == 7 && intMinute < 30)
            {

//开线程调用极光推送
                new Thread(delegate () { JPushTools.SendPushMsg(DateTime.Now.ToString("HH:mm") + "每天 7:00 ~ 7:30 定时测量血糖"); }).Start();
                
            }
            //JPushTools.SendPushMsg("定时 29 分钟发送");
            //****  
            //这里可以写你需要执行的任务,比如说,清理数据库的无效数据或增加每个用户的积分等等  
            Application.UnLock();
        }
    
    }

转载于:https://my.oschina.net/u/3504829/blog/908985

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以通过编写 Windows Service 来实现定时每天执行任务。下面是一些实现步骤: 1. 创建一个 Windows Service 项目。 2. 在 Service1.cs 文件中,重写 OnStart 和 OnStop 方法。 3. 在 OnStart 方法中,创建一个 Timer 对象并设置它的间隔和启动时间,然后注册 Elapsed 事件。 4. 在 Elapsed 事件中编写执行任务的代码。 5. 在 OnStop 方法中释放 Timer 对象。 下面是一个示例代码: ```csharp public partial class Service1 : ServiceBase { private Timer timer; public Service1() { InitializeComponent(); } protected override void OnStart(string[] args) { // 创建 Timer 对象 timer = new Timer(); // 设置间隔和启动时间 timer.Interval = 24 * 60 * 60 * 1000; // 24 小时 timer.Enabled = true; timer.StartTime = DateTime.Today.AddHours(2); // 每天凌晨 2 执行 // 注册 Elapsed 事件 timer.Elapsed += new ElapsedEventHandler(OnTimerElapsed); } protected override void OnStop() { // 释放 Timer 对象 if (timer != null) { timer.Enabled = false; timer.Stop(); timer.Dispose(); timer = null; } } private void OnTimerElapsed(object sender, ElapsedEventArgs e) { // 执行任务的代码 // TODO: 在此处编写你的任务代码 } } ``` 需要注意的是,Windows Service 项目需要安装并启动服务,才能够运行。可以通过以下步骤来安装和启动服务: 1. 打开命令提示符,以管理员身份运行。 2. 切换到 Windows Service 项目的输出目录。 3. 执行以下命令来安装服务:`installutil.exe Service1.exe`。 4. 执行以下命令来启动服务:`net start Service1`。 在每次修改代码后,需要重新安装和启动服务才能够生效。可以通过以下命令来卸载服务:`installutil.exe /u Service1.exe`。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值