.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 命令启动服务
坑点(无法停止服务)
在任务管理器上结束服务树 名称可能为:项目名称
在进行停止即可