【问题标题】:Cannot start service from the command line or debugger无法从命令行或调试器启动服务
【发布时间】:2012-12-21 09:55:03
【问题描述】:

我创建了一个 Windows 服务并将其安装在服务器上。它似乎工作正常,即做它应该做的事情。但是当我通过远程桌面登录到服务器时,我会收到以下消息:

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

我点击然后去服务资源管理器检查服务,它启动正常。未报告任何错误。

我已经安装了这个,所以它使用本地系统作为“登录身份”。

谢谢。

【问题讨论】:

  • 您确定该服务会抛出错误消息吗?
  • 该消息仅在我安装 Windows 并且服务读取 XML 文件并且需要连续运行后才开始出现。我会在圣诞节后看看这个,因为那是我回来工作的时候。自从我安装了我的服务以来,这似乎很奇怪。但是就像我说的那样,它可以工作,但只是不希望在用户通过远程桌面登录时出现此消息
  • Windows Service start failure 的可能重复项

标签: c# windows service


【解决方案1】:

更改Program类中的Main方法如下:

    /// <summary>
    ///   The main entry point for the application.
    /// </summary>
    private static void Main()
    {
        var myService = new MyService();
        if (Environment.UserInteractive)
        {
            Console.WriteLine("Starting service...");
            myService.Start();
            Console.WriteLine("Service is running.");
            Console.WriteLine("Press any key to stop...");
            Console.ReadKey(true);
            Console.WriteLine("Stopping service...");
            myService.Stop();
            Console.WriteLine("Service stopped.");
        }
        else
        {
            var servicesToRun = new ServiceBase[] { myService };
            ServiceBase.Run(servicesToRun);
        }
    }

你必须在你的服务类中添加一个Start 方法:

    public void Start()
    {
        OnStart(new string[0]);
    }

在项目属性的“应用程序”选项卡中将项目的输出类型更改为“控制台应用程序”而不是“Windows 应用程序”。现在您只需按 F5 即可开始调试,但您仍然可以将可执行文件作为 Windows 服务运行。

【讨论】:

  • @Tadej 你重建了吗?
  • @MattCom 我找到了另一种方法。但不记得到底是什么。
【解决方案2】:

转到 App.config

查找

<setting name="RunAsWindowsService" serializeAs="String">
<value>True</value>

设置为假

【讨论】:

    【解决方案3】:

    按 CTRL-ALT-CANC (*),然后转到“服务”选项卡。有一个服务列表,搜索您需要启动的服务,选择它并单击“启动”。 如果它不存在,则可能是已卸载,未(正确?)安装,或者由于某些其他原因,Windows 不知道您的服务。

    (*) 或 CTRL-ALT-DEL(ete) 或其他,取决于键盘语言。

    【讨论】:

    • CANC?是删除吗?
    • 谢谢,我添加了一个 (*) 以进行澄清。我不认为这取决于键盘。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-06
    • 2014-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多