私はデバッグしようとしているWindowsサービスを持っています。今は、現在のコードが動作していたとしても、起動に失敗します。エラーは次のとおりです。サービスは指定時間内に開始または制御 要求に応答しませんでした:Windowsサービスが起動しない(エラー1053)
Windowsは、ローカルコンピュータ上
エラー1053 MyServiceでサービスを開始できませんでした。
エラーを特定するために、すべてをコメントアウトしようとしました。主な方法は次のようになります。
TextWriter tt = new StreamWriter(@"C:\startup.text", true);
tt.WriteLine("Starting up the service");
tt.Close();
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new MyService()
};
TextWriter tt2 = new StreamWriter(@"C:\startup.text", true);
tt2.WriteLine("Run...");
tt2.Close();
これは、「サービスの起動」と「ファイル名を指定して実行」のログ・ファイルの両方に出力します。 MyServiceの内部も取り除いて空にしました。任意のコードの周りにtry/catchがありますが、これは上のようないくつかのログ行に縮小されています。私はそれを記録していたcatchステートメントを入力しません。 OnStartメソッドで
すべてがコメントアウトされています:
protected override void OnStart(string[] args)
{
}
は、だから私は、アイデアのうち、基本的です。 Startメソッドが終了しない(または30秒以内に)ため、エラーが発生していると思いました。他の方法がありますか?任意のアイデアが評価されます。
追加情報: MyServiceのコンストラクタは空です。いくつかのThread.Sleep(5000)行を挿入すると、Error 1053に関するエラーメッセージが表示されるまでに時間がかかります。 Mainメソッドは(エラーなしに)終了しなければならないようです。
未処理の例外をすべてキャッチし、あなたのログに。例えば:http://stackoverflow.com/questions/58280/unhandledexception-handler-in-a-net-windows-service ...それはあなたになぜ失敗しているかについてのいくつかのより多くの情報を与えるかもしれません。 –