注意
本文不适用于 .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 来运行你的项目 — 你无法通过这种方式运行服务项目。 
- 安装服务。 有关详细信息,请参阅如何:安装和卸载服务。