最近碰到需求:需要一直监视和操作数据。本来打算用sql触发器实现,看了下数据表,并没有约束。
最后想了下,还可以用Windows服务 安装定时器来实现。下面讲解大致流程:
一.创建Windows Service项目,
二. 在Service1.cs 空白处右键,点击"查看代码"。
三:设置定时器的间隔时间,编写定时器要执行的内容
我设置间隔时间为5秒。
如果间隔很短,操作逻辑复杂。会大量占用数据库,碰到这种情况记得用列队哦。
四.在Service1空白处右键,点击“添加安装程序”,会添加一个ProjectInstaller设计器、
五. 给serviceProcessInstaller1 和serviceInstaller1 配置属性
把serviceProcessInstaller1 的Account属性改为LocalService
serviceInstaller1 的ServiceName属性 是定时器的名称。
也就是等下安装 启动程序的名称
以上操作完成后,生成一下。在该项目对应的文件夹下,bin\Debug 能找到生成的程序就可以了
六.接下来就是安装启动了:
使用管理权限打开cmd
命令符为:
1. 安装InstallUtil
cd C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319
2.安装定时器,使用你自己的路径和名称
InstallUtil D:\定时器\WindowsServiceName.exe
3.启动
net start WindowsServiceName
启动成功就完成了
ps:卸载定时器:
InstallUtil /u D:\定时器\WindowsServiceName.exe