Windows服务需要很长时间才能启动,达到超时

时间:2017-06-27 08:33:22

标签: windows visual-c++ service windows-services

我使用以下构建环境创建了一项服务:

OS : Windows Server 2012 IDE: Visual Studio 2012 Arch: x64

相同的服务在Windows Server 2012中运行正常但在Windows Server 2008中无法启动相同的服务。

OS : Windows Server 2008 R2 Arch : x64

我在事件查看器中收到以下错误

  

等待服务连接时达到超时(30000毫秒)。

注意:我已经安装了所需的所有必需的VC ++可再发行软件包。

1 个答案:

答案 0 :(得分:0)

您的服务需要很长时间才能在Windows Server 2008计算机上启动。如果超时超时,将停止服务。这可能是由于以下原因造成的:

  • 较慢的硬件
  • 网络连接速度较慢
  • 不同的工作量
  • ...

我建议在服务的启动方法中创建一个worker Thread。这可以避免超时。

protected override void OnStart(string[] args)
{
    // Create working thread
    Thread serviceThread = new Thread(() =>
    {
        // do stuff
    });

    // start thread
    serviceThread.Start();
}
相关问题