使用 Windows服务 :
1.建立一个新项目,选择Windows服务作为模板。生成的代码中会包含一个继承自 ServiceBase 的类。
2.我们需要覆盖 ServiceBase 的 OnStart 方法,该方法必须快速返回,否则会返回一个“系统无法及时启动服务”的超时错误。
protected override void OnStart(string[] args)
{
ThreadStart ts = new ThreadStart(bo.DoWork);
Thread t = new Thread(ts);
t.Start();
}
3.我们需要覆盖 ServiceBase 的 OnStop 方法,用来清理使用的资源。
4.通过设置服务类的 ServiceName 属性值可以为服务命名。
5.我们需要一个安装项目来安装这个服务。打开服务类的属性页,点击"Add Installer"会创建一个ProjectInstall.cs文件,我们无需写代码就可以安装的。
6.项目编译后得到一个exe文件,使用命令就可以安装服务了:
c:/InstallUtil WindowsService.exe
如果安装成功,系统会提示:提交已顺利完成。
7.Windows服务的调试使用附加方式。
当启动Windows服务后,使用vs.net打开windows服务的源码,在合适的位置上设置一个断点;
使用菜单Debug-Processes打开进程窗口(一定要显示系统进程),在列表中找到我们的windows服务,然后选择附加它;等它执行到断点的时候我们就可以调试它了。
1.建立一个新项目,选择Windows服务作为模板。生成的代码中会包含一个继承自 ServiceBase 的类。
2.我们需要覆盖 ServiceBase 的 OnStart 方法,该方法必须快速返回,否则会返回一个“系统无法及时启动服务”的超时错误。
protected override void OnStart(string[] args)
{
ThreadStart ts = new ThreadStart(bo.DoWork);
Thread t = new Thread(ts);
t.Start();
}
3.我们需要覆盖 ServiceBase 的 OnStop 方法,用来清理使用的资源。
4.通过设置服务类的 ServiceName 属性值可以为服务命名。
5.我们需要一个安装项目来安装这个服务。打开服务类的属性页,点击"Add Installer"会创建一个ProjectInstall.cs文件,我们无需写代码就可以安装的。
6.项目编译后得到一个exe文件,使用命令就可以安装服务了:
c:/InstallUtil WindowsService.exe
如果安装成功,系统会提示:提交已顺利完成。
7.Windows服务的调试使用附加方式。
当启动Windows服务后,使用vs.net打开windows服务的源码,在合适的位置上设置一个断点;
使用菜单Debug-Processes打开进程窗口(一定要显示系统进程),在列表中找到我们的windows服务,然后选择附加它;等它执行到断点的时候我们就可以调试它了。