/ / Windowsサービスの起動に時間がかかりすぎる、タイムアウトに達した - Windows、Visual C ++、サービス、Windowsサービス

Windowsサービスの開始に時間がかかりすぎる、タイムアウトに達した - Windows、Visual C ++、サービス、Windowsサービス

私は以下のビルドenvで1つのサービスを作成しました:

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

お客様のサービスは、Windows Server 2008のマシンで開始する必要があります。タイムアウトを超えた場合、サービスは停止されます。これは、次のようなさまざまな理由が原因である可能性があります。

  • 遅いハードウェア
  • 遅いネットワーク接続
  • 異なる作業負荷
  • ...

私は労働者を作成することをお勧めします Thread サービスの開始方法で。これによりタイムアウトが回避されます。

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

// start thread
serviceThread.Start();
}