Tengo un servicio de Windows que estoy intentando depurar. Ahora no puede iniciarse aunque el código actual solía funcionar. El error es:El servicio de Windows no se iniciará (Error 1053)
Windows no pudo iniciar el servicio MyService el equipo local
Error 1053: El servicio no respondió al inicio o control petición en el momento oportuno.
Para aislar el error, traté de comentar todo. El principal método es el siguiente:
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();
Se imprime tanto "Puesta en marcha del servicio" y "Ejecutar ..." para el archivo de registro. También eliminé el interior de MyService para que esté vacío. Hay un try/catch alrededor de cualquier código, que ahora se reduce a algunas líneas de registro como la anterior. Nunca ingreso la declaración catch, que la habría registrado.
Todo en OnStart ha comentado:
protected override void OnStart(string[] args)
{
}
Así que estoy básicamente sin ideas. Pensé que el error se debía a que el método de inicio nunca termina (o no dentro de 30 segundos). ¿Hay algún otro método que se llame? Cualquier idea es apreciada.
Información extra: El constructor en MyService está vacío. Si inserto algunas líneas Thread.Sleep (5000), tarda más tiempo antes de que aparezca el mensaje de error sobre el error 1053. El método principal parece tener que salir (sin error).
Asegúrese de detectar todas las excepciones no controladas y escriba el m a su registro. Por ejemplo: http://stackoverflow.com/questions/58280/unhandledexception-handler-in-a-net-windows-service ... que podría darle más información sobre por qué está fallando. –