注释
本文不适用于 .NET 中的托管服务。 有关使用 Microsoft.Extensions.Hosting.BackgroundService 和工作服务模板的 Windows 服务的最新内容,请参阅:
- .NET 中的工作服务
使用 创建 Windows 服务
安装服务后,必须启动该服务。 开始对服务类调用 OnStart 该方法。 通常,该方法 OnStart 定义服务将执行的有用工作。 服务启动后,它会保持活动状态,直到它手动暂停或停止。
可以设置服务以自动或手动启动。 当安装该服务的计算机重新启动或首次打开时,会自动启动的服务将被启动。 用户必须启动手动启动的服务。
注释
默认情况下,使用 Visual Studio 创建的服务设置为手动启动。
可以通过多种方式手动启动服务,从 服务器资源管理器、 从服务控制管理器或使用名为 的 ServiceController组件从代码启动服务。
在ServiceInstaller类上设置StartType属性以确定服务应该手动启动还是自动启动。
指定服务应如何启动
创建服务后,为其添加必要的安装程序。 有关详细信息,请参阅 如何将安装程序添加到您的服务应用程序。
在设计器中,单击正在使用的服务的服务安装程序。
在 “属性” 窗口中,将 StartType 属性设置为下列属性之一:
让你的服务安装 设置此值 重启计算机时 自动 显式用户操作启动服务时 手动 小窍门
若要防止服务完全启动,可以将属性设置为StartType“已禁用”。 如果要多次重新启动服务器,并且希望通过阻止通常启动的服务来节省时间,则可以执行此操作。
注释
安装服务后,可以更改这些属性和其他属性。
可以通过多种方式启动一个服务,该服务 StartType 的进程设置为 “手动 ”(从 服务器资源管理器、 Windows Services 控制管理器或代码)。 请务必注意,并非所有方法实际上都在 服务控制管理器的上下文中启动服务; 启动服务的服务器资源管理器 和编程方法实际上操作控制器。
从服务器资源管理器启动服务
在 服务器资源管理器中,添加所需的服务器(如果尚未列出)。 有关详细信息,请参阅如何访问和初始化 Server Explorer - Database Explorer。
展开 “服务 ”节点,然后找到要启动的服务。
右键单击服务的名称,然后选择“ 启动”。
从“服务”工具启动某项服务
打开 服务 应用。
在列表中选择服务,右键单击该服务,然后选择“ 启动”。
从代码启动服务
创建类的 ServiceController 实例,并将其配置为与要管理的服务进行交互。
调用该方法 Start 以启动服务。