c# で記述された Windows サービスを Windows 7 で実行しています。30 秒のタイムアウトを超えたため、システムの再起動時に開始に失敗することがあります。
別の単純なサービス (VS 2012 テンプレートから作成され、何も変更しない) を作成してテストし、プロセス モニターで開始時間を監視しました。.NET を読み込んで「メイン」関数に到達するまでに 20 秒以上かかることがわかりました。
システムの起動時に .NET の読み込みを高速化する方法を知っている人はいますか?
「NGEN executequeueeditems」を試しましたが、役に立ちません。テスト サービスには依存関係がありません。
すべての .NET 要素が既に初期化されており、メモリに保持されているため、サービスは再起動後に非常に高速 (1 秒以内) に手動で開始できます。