.net framework windows服务结合定时任务坑点

建立.net windows服务的项目

 

在OnStart中使用定时任务

 

protected override void OnStart(string[] args)
        {
            Timer timer = new Timer();
            timer.Interval = 5 * 1000;
            timer.Elapsed += Timer_Elapsed;
            timer.Enabled = true;
            timer.Start();
        }

        private void Timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            File.AppendAllText(@"D:\Quartz.txt", "启动定时任务");
        }

        protected override void OnStop()
        {
            File.AppendAllText(@"D:\Quartz.txt", "停止定时任务");
        }

  发布项目

 

 

 一直到最后完成

 

找到对应的\obj\Debug的服务.exe文件运行会报错

 

 

 此时找到installutil.exe将此文件配置成环境变量

 

 

 打开cmd上 使用 installutil 服务.exe 命令此时

 

坑点(弹出用户名密码)

 

 

 此时在发布的项目上找到ProjectInstaller.cs文件

 

InitializeComponent()方法转到定义

 

 

 上文:this.serviceProcessInstaller1.Account = System.ServiceProcess.ServiceAccount.LocalSystem;

此时再次执行 installutil 服务.exe 命令启动服务

坑点(无法停止服务)

在任务管理器上结束服务树 名称可能为:项目名称

在进行停止即可

 

 

  

posted @ 2022-05-09 23:58  电器小君子  阅读(147)  评论(0)    收藏  举报