【问题标题】:window service setting a timer at particular time窗口服务在特定时间设置计时器
【发布时间】:2014-06-13 04:24:38
【问题描述】:

我在窗口服务中创建了一个计时器,它在系统启动后运行..我想在特定时间启动它,比如说:下午 3:00 ..

这是我尝试过的

private Timer scheduleTimer = null;
        private DateTime lastRun;
        private bool flag;

        public AutoSMSService()
        {
            InitializeComponent();

            if (!System.Diagnostics.EventLog.SourceExists("AutoSMSSource"))
            { System.Diagnostics.EventLog.CreateEventSource("AutoSMSSource", "AutoSMSLog"); }
            eventLogAutoSMS.Source = "AutoSMSSource";
            eventLogAutoSMS.Log = "AutoSMSLog";
            scheduleTimer = new Timer();
            scheduleTimer.Interval = 5000;


        }


        protected override void OnStart(string[] args)
        {
            flag = true;
            lastRun = DateTime.Now;
            scheduleTimer.Start();

            //some operation
        }

        protected void scheduleTimer_Elapsed(object sender, ElapsedEventArgs e)
        {
            if (flag == true)
            {


                lastRun = DateTime.Now;
                flag = false;
            }
            else if (flag == false)
            {


                if (lastRun.Date < DateTime.Now.Date)
                {
                    eventLogAutoSMS.WriteEntry("DB Call after Interval");
                    ASMSFetch.Program.UpdateSMS();
                }
            }
        }

        protected override void OnStop()
        {
            eventLogAutoSMS.WriteEntry("Stopped");
        }

在类似的帖子上.. 没有提到如何在特定日期设置它.. 任何建议都会有所帮助

【问题讨论】:

  • 您使用的是哪个 Timer 类? System.Windows.Forms.Timer System.Timers.Timer System.Threading.Timer
  • 我正在使用 System.Timers.Timer
  • 如何将间隔设置为 1 分钟。在您过去的事件中,您可以检查当前时间是否为 3:00。如果不是 3:00,则返回。
  • 您的意思是要在特定时间启动计时器?
  • 是的 .. 我的意思是你想在特定时间启动计时器

标签: c# .net service timer


【解决方案1】:

你试过 - FluentSheduler 吗?

你可以在Service Start初始化它

【讨论】:

  • 感谢工具。我试着按照你说的添加它..但它仍然没有执行任何东西,除了启动和停止日志
猜你喜欢
  • 1970-01-01
  • 2012-06-12
  • 2013-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-30
  • 2020-08-01
  • 1970-01-01
相关资源
最近更新 更多