如何:创建 Windows 服务
注意
本文不适用于 .NET 中的托管服务。 有关使用 Microsoft.Extensions.Hosting.BackgroundService 的 Windows 服务上的最新内容和辅助角色服务模板,请参阅:
创建服务时,可使用名为“Windows 服务” 的 Visual Studio 项目模板。 通过引用适当的类和命名空间、为服务设置来自基类的继承和替代你可能想要替代的几个方法,此模板自动为你完成了许多工作。
警告
Visual Studio 的速成版中未提供 Windows 服务项目模板。
要创建功能性服务,你至少必须:
设置 ServiceName 属性。
为你的服务应用程序创建必要的安装程序。
要创建 Windows 服务应用程序
创建“Windows 服务” 项目。
注意
有关不使用模板编写服务的说明,请参阅如何:以编程方式编写服务。
在“属性”窗口中,为服务设置 ServiceName 属性。
注意
ServiceName 属性的值必须始终与记录在安装程序类中的名称相匹配。 如果更改此属性,你还必须更新安装程序类的 ServiceName 属性。
设置下列任何一个属性,确定你的服务的运行方式。
Property 设置 CanStop True
表示服务将接受请求停止运行;false
将阻止服务被停止。CanShutdown True
表示当服务所在的计算机关机时服务需要接受通知,启用它来调用 OnShutdown 过程。CanPauseAndContinue True
表示服务将接受请求暂停或恢复运行;false
将阻止服务被暂停或恢复。CanHandlePowerEvent True
表示服务可处理计算机电源状态更改的通知;false
将阻止向服务通知这些更改。AutoLog True
将在你的服务执行操作时向应用程序事件日志写入信息条目;false
将禁用该功能。 有关详细信息,请参阅如何:记录关于服务的信息。 注意:默认情况下,将 AutoLog 设置为true
。注意
当 CanStop 或 CanPauseAndContinue 设置为
false
时,“服务控制管理器”将禁用相应的菜单选项来停止、暂停或继续该服务。替代你想要定义功能的任何其他方法。
添加服务应用程序所必需的安装程序。 有关详细信息,请参阅如何:将安装程序添加到服务应用程序。
通过从“生成” 菜单选择“生成解决方案” 来生成项目。
注意
不要通过按 F5 来运行你的项目 — 你无法通过这种方式运行服务项目。
安装服务。 有关详细信息,请参阅如何:安装和卸载服务。