【问题标题】:ElapsedEventHandler is not fired in Windows ServiceWindows 服务中未触发 ElapsedEventHandler
【发布时间】:2016-05-29 14:12:24
【问题描述】:

我有一个非常简单的窗口服务,我是按照本教程开发的:http://www.c-sharpcorner.com/UploadFile/naresh.avari/develop-and-install-a-windows-service-in-C-Sharp/

但是我注意到 ElapsedEventHandler 从未像教程那样被触发:

  public partial class Scheduler : ServiceBase
    {
        public Timer timer1 = null;
        public Scheduler()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {

            timer1 = new Timer();
            this.timer1.Interval = 30000;
            this.timer1.Elapsed+=new ElapsedEventHandler(this.timer1_Tick);
            Library.WriteErrorLog("Test Window service started");

        }

        protected override void OnStop()
        {
            timer1.Enabled = false;
            Library.WriteErrorLog("test window service stopped");
        }

        private void timer1_Tick(object sender, ElapsedEventArgs e)
        {
            Library.WriteErrorLog("Timer ticked and some job has been done successfully");
        }
    }

【问题讨论】:

    标签: c# .net wcf event-handling system.timers.timer


    【解决方案1】:

    您必须启用计时器。有关示例,请参阅here。你提到的文章也是这样做的。

    timer1.Enabled = true;
    

    【讨论】:

    • 感谢马丁!我错过了,我在挠头!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    相关资源
    最近更新 更多