zoukankan      html  css  js  c++  java
  • asp.net 定时间点执行任务的简易解决办法

    这里的定时间点执行任务,指的是每天的某个时间执行一项任务。

    比如每天凌晨七点的时候email发送一次报表。 
    这里首先想到的就是利用 Global.asax 文件来实现, 以下Global文件的内容。 

    <%@ Application Language="C#" %> 
    <%@ Import Namespace="System.Threading" %> 

    <script runat="server"> 

    //这里使用静态保持对这处Timer实例的引用,以免GC 
    private static System.Threading.Timer timer = null; 

    protected void Application_Start(object sender, EventArgs e) { 
    //计算现在到目标时间要过的时间段。 
    DateTime LuckTime = DateTime.Now.Date.Add(new TimeSpan(7, 0, 0)); 
    TimeSpan span = LuckTime - DateTime.Now; 
    if (span < TimeSpan.Zero) { 
    span = LuckTime.AddDays(1d) - DateTime.Now; 

    //按需传递的状态或者对象。 
    object state = new object(); 
    //定义计时器 
    timer = new System.Threading.Timer( 
    new TimerCallback(CertainTask), state, 
    span, TimeSpan.FromTicks(TimeSpan.TicksPerDay)); 


    protected void Application_End(object sender, EventArgs e) { 
    //结束时记得释放 
    if (timer != null) { timer.Dispose(); } 


    //这里是指定时间执行的代码,必须是静态的。 
    private static void CertainTask(object state) { 
    //这里写你的任务逻辑 


    </script> 

  • 相关阅读:
    MySQL分库分表环境下全局ID生成方案
    centos添加php及mysql环境变量
    shell中的常用通配符,字符类
    centos7 安装xinetd,telnet
    centos7 systemctl一些用法
    ps命令
    nginx与php-fpm通信的两种方式
    nginx常用功能
    MySQL安装
    MySql与MariaDB由来与历程
  • 原文地址:https://www.cnblogs.com/sjqq/p/6554498.html
Copyright © 2011-2022 走看看