【问题标题】:How to start the windows service如何启动windows服务
【发布时间】:2016-02-16 17:40:25
【问题描述】:

我正在尝试启动我的 Windows 服务应用程序,但出现以下错误

无法从命令行或调试器启动服务。 必须首先安装 Windows 服务(使用 installutil.exe) 然后用 ServerExplorer、Windows Services 启动 管理工具或 NET START 命令。

有人可以帮我解决这个问题吗..

【问题讨论】:

  • 当您说“启动”时,您是指在调试器中启动,还是启动已安装的服务?如果你不安装服务,它就不能作为服务运行。
  • 调试服务的一个好方法是在启动中放置System.Diagnostics.Debugger.Break(),然后安装并启动它。当您遇到断点时,您将有机会附加调试器。
  • 看看 TopShelf (topshelf-project.com),一个很好的 Windows 服务框架
  • 错误本身解释了一切:使用 InstallUtil 将可执行文件作为服务安装(执行 InstallUtil 不带参数寻求帮助),然后使用 NET START (servicename) 启动它

标签: c# c#-4.0 windows-services


【解决方案1】:

正如他们在 cmets 中所说 - 除非您从服务管理器(服务)安装并运行它,否则您无法启动 Windows 服务

解决方案:我建议在您的 C# 服务程序中添加一个控制台主入口点,以便您可以从服务管理器和调试器/exe 执行中实际启动它。

http://einaregilsson.com/run-windows-service-as-a-console-program/

【讨论】:

    【解决方案2】:

    当您构建了 Windows 服务后,您必须先安装它,然后才能启动它:这里是安装命令行:

    installutil YourNewService.exe

    然后您会在 windows 服务管理器 中看到新服务,您可以在其中启动和停止它。

    在使用新的构建版本重试之前,不要忘记卸载新服务。

    更多信息请看这里:How to: Install and Uninstall Services

    最好的问候

    【讨论】: