web项目中经常使用到定时操作需求,之前用了很多种方式,定时功能始终无法稳定运行,以下采用了windows服务的方式,运行比较稳定的一种方式。

1、windows服务创建

 

2、开始编写代码

 

 

3、程序代码

项目自动包括了服务启动方法和停止方法

  • 程序启动方法

 

  protected override void OnStart(string[] args)
  • 程序停止方法
 protected override void OnStop()

 

4、定时服务

我们项目中的需求是定时触发一个功能

  • 首先:创建Timer定时控件

 

 

 

  • 启动定时服务,我们是需求1分钟执行一次

 

 

  •  定时服务功能,当时间点与配置文件中相等时触发功能,timea 和url,时App.config文件中进行配置

.

 

 5、服务停止时,Timer控件停止

 timea.Enabled=false;

 

6、添加安装程序

 

 

其中StartType,我们设置为Automatic 自动启动

 

 7、安装卸载

使用InstallUtil.exe工具进行安装,默认在C:\Windows\Microsoft.NET\Framework\v4.0.30319  ,查看电脑中是否存在,可以在系统文件中进行查找。

  • 采用命令行方式进行安装,(建议采用管理员身份进行安装,其他身份可能会出现权限不足的情况)。

 

 

  • 指定到安装工具目录

 

 

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319

 

 

 

 

 

  •  开始安装服务
installutil   E:\Temp\test.exe

exe程序是项目中生成的exe文件

  • 卸载服务
installutil  -u   E:\Temp\test.exe

8、安装和卸载操作完成,可以在服务中进行查看了, 运行services.msc  打开服务窗口,查看安装服务,需要将服务进行启动

 

 

 

 

 

 

 

 

 

 

 

 

posted on 2021-03-31 14:57  fengwm  阅读(163)  评论(0)    收藏  举报