如何:启动服务

更新:2007 年 11 月

服务安装后,必须启动。启动会调用服务类上 OnStart 方法。通常,OnStart 方法定义服务将执行的有用工作。服务启动后一直保持活动,直到被手动暂停或停止。

可以将服务设置为自动启动或手动启动。自动启动的服务将在安装了该服务的计算机重新启动或首次打开时启动。而手动启动的服务需要用户来启动。

htkdfk18.alert_note(zh-cn,VS.90).gif说明:

默认情况下,使用 Visual Studio 创建的服务会设置为手动启动。

存在多种手动启动服务的方法:从“服务器资源管理器”启动,从“服务控制管理器”启动,或使用名为 ServiceController 的组件从代码启动。有关 ServiceController 组件的概述,请参见监视 Windows 服务

ServiceInstaller 类中设置 StartType 属性,以确定是手动启动还是自动启动服务。

指定服务的启动方式

  1. 创建服务后,为其添加必要的安装程序。有关更多信息,请参见如何:将安装程序添加到服务应用程序

  2. 在设计器中,单击正在处理的服务的服务安装程序。

  3. 在“属性”窗口中,将 StartType 属性设置为以下值之一:

    安装服务

    设置该值

    当计算机重新启动时

    自动

    当一个显式用户操作启动服务时

    手动

    htkdfk18.alert_note(zh-cn,VS.90).gif提示:

    若要完全防止启动服务,可以将 StartType 属性设置为“Disabled”。如果将多次重启服务器,并且希望通常会启动的服务禁止启动以便节省时间,可以这样做。

    htkdfk18.alert_note(zh-cn,VS.90).gif说明:

    安装服务之后,可以更改这些属性和其他属性。

    存在多种方法可以启动 StartType 进程设置为“Manual”的服务:从“服务器资源管理器”启动,从“Windows 服务控制管理器”启动或从代码启动。值得注意的是,并不是所有这些方法都在“服务控制管理器”的上下文中实际启动服务;“服务器资源管理器”和启动服务的编程方法实际操作控制器。

从服务器资源管理器手动启动服务

  1. 在“服务器资源管理器”中,如果需要的服务器没有列出,则添加该服务器。有关更多信息,请参见如何:访问和初始化服务器资源管理器/数据库资源管理器

    htkdfk18.alert_note(zh-cn,VS.90).gif说明:

    Visual Studio 标准版不提供“服务器资源管理器”的“服务器”节点。

  2. 展开“服务”节点,然后找到要启动的服务。

  3. 右击服务的名称,然后单击“启动”。

从服务控制管理器手动启动服务

  1. 通过执行下列操作之一打开“服务控制管理器”:

    • 在 Windows XP 和 2000 专业版中,在桌面上右击“我的电脑”,然后单击“管理”。在出现的对话框中,展开“服务和应用程序”节点。

      - 或 -

    • 在 Windows Server 2003 和 Windows 2000 Server 中,单击“开始”,指向“程序”,单击“管理工具”,然后单击“服务”。

      htkdfk18.alert_note(zh-cn,VS.90).gif说明:

      在 Windows NT 4.0 版中,可以从“控制面板”中打开此对话框。

    现在应该看到您的服务列在窗口的“服务”区域中。

  2. 从列表中选择您的服务,右击该服务,然后单击“启动”。

用代码手动启动服务

  1. 创建一个 ServiceController 类的实例,并将它配置为与要管理的服务进行交互。有关更多信息,请参见如何:创建 ServiceController 组件实例

  2. 调用 Start 方法启动该服务。

请参见

任务

如何:创建 Windows 服务

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

如何:对服务执行管理任务

概念

Windows 服务应用程序介绍

参考

如何:访问和初始化服务器资源管理器/数据库资源管理器