如何:创建 Windows 服务
创建服务时,可以使用称为**“Windows 服务”**的 Visual Studio 项目模板。 此模板引用适当的类和命名空间、设置从服务基类的继承并重写您可能要重写的几种方法,从而自动为您完成大部分工作。
提示
Visual Studio 标准版中不提供“Windows 服务”模板及相关功能。
若要创建功能性服务,必须至少:
设置 ServiceName 属性。
为服务应用程序创建必需的安装程序。
在将安装程序添加到应用程序之后,下一步是创建安装项目,该项目将安装已编译的项目文件并运行安装服务所需的安装程序。 若要创建完整的安装项目,您必须将服务项目的输出添加到该安装项目,然后添加自定义操作以安装您的服务。 有关安装项目的更多信息,请参见安装和部署项目。 有关自定义操作的更多信息,请参见演练:创建自定义操作。
创建 Windows 服务应用程序
创建一个**“Windows 服务”**项目。
提示
有关不使用模板编写服务的说明,请参见如何:以编程方式编写服务。
在**“属性”**窗口中,设置服务的 ServiceName 属性。
提示
ServiceName 属性的值必须始终与安装程序类中记录的名称匹配。 如果更改此属性,则必须也更新安装程序类的 ServiceName 属性。
设置下列所有属性以确定服务的工作机制。
属性
设置
True 指示服务将接受停止运行的请求;false 指示禁止停止运行服务。
True 指示服务希望在运行该服务的计算机关闭时收到通知,以便能够调用 OnShutdown 过程。
True 指示服务将接受暂停或继续运行的请求;false 指示禁止服务暂停运行和继续运行。
true 指示服务可以处理有关计算机电源状态更改的通知;false 指示禁止服务得到有关这些更改的通知。
True 表示在服务执行操作时将信息项写入应用程序的事件日志;false 表示禁用此功能。 有关更多信息,请参见如何:记录关于服务的信息。
注意默认情况下,AutoLog 设置为 true。提示
当 CanStop 或 CanPauseAndContinue 设置为 false 时,“服务控制管理器”会禁用相应的停止、暂停或继续服务的菜单选项。
重写其他所有要为其定义功能的方法。
添加服务应用程序所必需的安装程序。 有关更多信息,请参见如何:将安装程序添加到服务应用程序。
通过从**“生成”菜单中选择“生成解决方案”**来生成项目。
提示
不要通过按 F5 来运行项目,不能以这种方式运行服务项目。
安装服务。 有关更多信息,请参见如何:安装和卸载服务。