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