asp.net定时执行程序

protected void Application_Start(object sender, EventArgs e)
        {
            //在应用程序启动时运行的代码
            System.Timers.Timer objTimer = new System.Timers.Timer();
            objTimer.Interval = 30000; //这个时间单位毫秒,比如10秒,就写10000
            objTimer.Enabled = true;
           
            objTimer.Elapsed += Email;

        }

 private void Email(object sender, EventArgs e)
        {
            new Thread(delegate()
            {
                DateTime D = DateTime.Now;
                if (Convert.ToInt32(D.DayOfWeek) == 6 && D.Hour >= 14)
                {
                    Member_DAL.Common co = new Member_DAL.Common();
                    co.SendUserEmail2();
                }
                Thread.Sleep(1000);
            }).Start();
        }

公司要做一个定时更新本地数据的程序,每周六的凌晨两点更新本地数据(现在改成发Email),以确保本地数据的准确性。我做了一个定时发送邮件的程序来模拟这个业务。
写在在Global页面里面。

如果将计时器的间隔设置太短,发送邮件会失败,因为邮件方阻止了这种发送频率的行为。

上面是用定时器来做的,我们可以在下面的Email这里获取当前日期和时间进行判断。


发现一个地方,DateTime的DayOfweek返回来的是英文的星期几,但是用数字匹配也能匹配成功。

原文地址:https://www.cnblogs.com/hougelou/p/2854636.html