编写 Window 服务程序 一、直观认识Windows服务。
打开Windows“控制面板/管理工具/服务”,系统显示Windows服务列表。
双击服务,可以显示和更改服务属性。在这个对话框中,可以控制服务的启动、暂停和停止。在这里还可以配置服务的启动类型,令服务在系统启动时自行启动。因此,Windows服务经常作为服务器程序运行。
在故障恢复这个属性页,可以配置该服务失败后系统的相应。一些病毒程序就是在这里做文章,将病毒程序激活的。
二、Windows服务的开发要点 Visual Studio的随机文档里,详细介绍了Windows服务程序的开发步骤,并且带有实例,笔者不再赘述。读者只需注意几个要点: 1、创建一个派生自ServiceBase的入口类。这个入口类管理这个Windows服务的生存期。
public class MyService : System.ServiceProcess.ServiceBase { …… } 2、在入口类的main方法里将服务向Windows的服务控制器(Service Control Manager, SCM)注册,代码: …… System.ServiceProcess.ServiceBase[] ServicesToRun; ServicesToRun = new System.ServiceProcess.ServiceBase[] { new MyService() }; System.ServiceProcess.ServiceBase.Run(ServicesToRun); …… 3、重写 OnStart 、OnStop ,或OnPause 和 OnContinue 方法来响应服务状态的更改。通常需要重写 OnStart 方法,结束服务时在 OnStop 方法中释放资源,酌情重写OnPause 和 OnContinue方法。