服务是一个运行在后台的程序,他没有界面,不能交互,只能孤独的独自运行。
在开始->运行->输入services.msc可以打开服务管理器,这里可以查看和管理服务
很多时候都会用到服务,因为服务简化了我们的操作,省去了很多人力,最近公司需要同步数据,我也自己写了个服务,这里把服务的主要程序贴出来,给大家参考,也方便以后自己查阅。
{
//启动timer
//period = ServiceSettings.Default.ServiceTimerIntervalSecond * 1000;
// period = Convert.toint * period;//秒
serviceTimer = new Timer(new TimerCallback(TimerCallback), state, 0, period);
}
protected override void OnStop()
{
//停止计时器
EndThing();
serviceTimer.Change(Timeout.Infinite, Timeout.Infinite);
}
protected override void OnContinue()
{
//重新开始计时
serviceTimer.Change(0, period);
}
protected override void OnPause()
{
//停止计时器
EndThing();
serviceTimer.Change(Timeout.Infinite, Timeout.Infinite);
}
public void TimerCallback(object obj)
{
//隔一段时间调用一次
DoThing();
}
serviceTimer = new Timer(new TimerCallback(TimerCallback), state, 0, period);
此处,state用于保存状态,如果不需要,保存状态,可以传入null。第三个参数0表示立即调用TimerCallback方法,如果不需要立即调用,可以传入period。period是计时器的计时间隔,单位为毫秒。
服务写好后,还得配置,以方便安装
因此,首先转到设计视图中,并选择属性窗口(可以按下F4)。
把CanStop和CanShutdown设置为true。在安装之前,我们必须要安装一个安装程序。
右击设计视图窗口,然后选择"Add Installer"。然后,它将显示ProjectInstaller.cs。在这个文件中,serviceInstaller1和serviceProcessInstaller1都存在。转到serviceProcessInstaller1属性处:
· 把Account设置为LocalSystem。
· 然后,转到serviceInstaller1属性处。
· 把DisplayName和ServiceName设置为Monitoring。
· 设置启动类型(StartType)为automatic。
服务写好了,还需要注册,不然不会运行,方法如下:C:WINDOWSMicrosoft.NETFrameworkv2.0.50727installutil Path
方法卸载的方法:C:WINDOWSMicrosoft.NETFrameworkv2.0.50727installutil -u Path
本人长期代人写DEMO,功能点DEMO、入门教程等,如果有需要的可以联系我