用c#编写window服务常见的几个事件
protected int i = 0;
public Service1()
{
InitializeComponent();
}
//启动服务时执行
protected override void OnStart(string[] args)
{
//使时间控件生效 并且1秒钟调用一次timer1_Elapsed() 方法
this.timer1.Enabled = true;
this.timer1.Interval = 1000;
}
//停止服务时执行
protected override void OnStop()
{
}
//暂停服务时执行
protected override void OnPause()
{
base.OnPause();
}
//继续服务时执行
protected override void OnContinue()
{
}
//此方法间隔一定时间就会运行一次
private void timer1_Elapsed(object sender, ElapsedEventArgs e)
{
//在此添加您们需要的功能代码, 我在此添加检测计划是否需要执行
i++;
System.IO.File.AppendAllText("d:\\1.txt","s"+i);
}
编写完服务以后 :
1. 打开Visual Studio .NET命令提示
2. 改变路径到你项目所在的bin\Debug文件夹位置(如果你以Release模式编译则在bin\Release文件夹)
3. 执行命令“InstallUtil.exe MyWindowsService.exe”注册这个服务,使它建立一个合适的注册项。
4. 右击桌面上“我的电脑”,选择“管理”就可以打计算机管理控制台
5. 在“服务和应用程序”里面的“服务”部分里,你可以发现你的Windows服务已经包含在服务列表当中了
6. 右击你的服务选择启动就可以启动你的服务了
1:在解决方案中,访问要向其中添加安装组件的服务的Design视图。
2:在属性窗口中,单击添加安装程序链接
这时项目中就添加了一个新类 ProjectInstaller 和两个安装组件 ServiceProcessInstaller 和 ServiceInstaller,并且服务的属性值被复制到组件。
3:若要确定如何启动服务,请单击 ServiceInstaller 组件并将 StartType 属性设置为适当的值。
ü Manual 服务安装后,必须手动启动。
ü Automatic 每次计算机重新启动时,服务都会自动启动。
ü Disabled 服务无法启动。
4:将serviceProcessInstaller类的Account属性改为 LocalSystem
这样,不论是以哪个用户登录的系统,服务总会启动。
第四步:生成服务程序
通过从生成菜单中选择生成来生成项目。
注意 不要通过按 F5 键来运行项目——不能以这种方式运行服务项目。
第五步:安装服务
访问项目中的已编译可执行文件所在的目录。
用项目的输出作为参数,从命令行运行 InstallUtil.exe。在命令行中输入下列代码:
installutil yourproject.exe
卸载服务
用项目的输出作为参数,从命令行运行 InstallUtil.exe。
installutil /u yourproject.exe