自学内容网 自学内容网

asp.net网站项目如何设置定时器,定时获取数据

在 Global.asax.cs 文件中编写代码来初始化和启动定时器。Global.asax.cs 文件定义了应用程序全局事件,比如应用程序的启动和结束。在这里,我们将在应用程序启动时初始化和启动定时器。

using System;
using System.Timers;

public class Global : System.Web.HttpApplication
{
    private Timer timer;

    protected void Application_Start(object sender, EventArgs e)
    {
        // 创建一个定时器
        timer = new Timer();
        
        // 设置定时器触发间隔,这里设置为每天执行一次
        timer.Interval = TimeSpan.FromDays(1).TotalMilliseconds;
        
        // 绑定定时器到处理方法
        timer.Elapsed += Timer_Elapsed;
        
        // 启动定时器
        timer.Start();
    }

    private void Timer_Elapsed(object sender, ElapsedEventArgs e)
    {
        // 定时器触发时执行的操作
        // 可以在这里编写需要定时执行的具体逻辑
        // 例如发送定时邮件、清理缓存等
    }
}

也可以定时某个时间段 执行

using System;
using System.Threading;

public class Global : System.Web.HttpApplication
{
     protected void Application_Start(object sender, EventArgs e)
    {
        // 获取当前时间
        DateTime now = DateTime.Now;
        // 计算距离第二天晚上8点的时间间隔
        TimeSpan timeToRun = DateTime.Today.AddDays(1).AddHours(20) - now;
        
        // 创建定时器
        Timer timer = new Timer(TimerCallback, null, timeToRun, TimeSpan.FromHours(24));

        Console.WriteLine("每天晚上8点定时任务已启动。");

        Console.ReadLine();

        timer.Dispose();
    }

    private static void TimerCallback(object state)
    {
        Console.WriteLine("定时任务执行时间:" + DateTime.Now);
    }
}

原文地址:https://blog.csdn.net/weixin_45180205/article/details/143490105

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!