如何:创建 Windows 服务 - .NET Framework

如何:创建 Windows 服务 - .NET Framework

注意

本文不适用于 .NET 中的托管服务。 有关使用 Microsoft.Extensions.Hosting.BackgroundService 的 Windows 服务上的最新内容和辅助角色服务模板,请参阅:

.NET 中的辅助角色服务

使用 BackgroundService 创建 Windows 服务

创建服务时,可使用名为“Windows 服务” 的 Visual Studio 项目模板。 通过引用适当的类和命名空间、为服务设置来自基类的继承和替代你可能想要替代的几个方法,此模板自动为你完成了许多工作。

警告

Visual Studio 的速成版中未提供 Windows 服务项目模板。

要创建功能性服务,你至少必须:

设置 ServiceName 属性。

为你的服务应用程序创建必要的安装程序。

替代并指定 OnStart 和 OnStop 方法的代码,以自定义你的服务的行为方式。

要创建 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 时,“服务控制管理器”将禁用相应的菜单选项来停止、暂停或继续该服务。

访问代码编辑器,并填写你想要对 OnStart 和 OnStop 过程的处理。

替代你想要定义功能的任何其他方法。

添加服务应用程序所必需的安装程序。 有关详细信息,请参阅如何:将安装程序添加到服务应用程序。

通过从“生成” 菜单选择“生成解决方案” 来生成项目。

注意

不要通过按 F5 来运行你的项目 — 你无法通过这种方式运行服务项目。

安装服务。 有关详细信息,请参阅如何:安装和卸载服务。

请参阅

Windows 服务应用程序介绍

如何:以编程方式编写服务

如何:将安装程序添加到服务应用程序

如何:记录关于服务的信息

如何:启动服务

如何:为服务指定安全上下文

如何:安装和卸载服务

演练:在组件设计器中创建 Windows 服务应用程序

相关推荐

黑色的鞋子穿什么颜色的袜子
365bet网络足球赌博

黑色的鞋子穿什么颜色的袜子

📅 07-01 👁️ 9108
金士顿U盘怎么样?性能、可靠性与使用体验全解析
365bet网络足球赌博

金士顿U盘怎么样?性能、可靠性与使用体验全解析

📅 07-06 👁️ 7513
腾讯收购拳头花了多少?拳头股权腾讯占多少?
正版约彩365软件

腾讯收购拳头花了多少?拳头股权腾讯占多少?

📅 07-20 👁️ 2390