私は以下のビルド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();
}