none
Mostrar un error al arrancar un servicio RRS feed

  • Pregunta

  • Buenas a todos!!

     

    He creado un servicio de windows y funciona pero me gustaria que si pasa algo en el onstart antes de lanzar el thread pues saltase un mensaje de error, claro cuando he puesto el throw me ha saltado la ventanita esta que sale en que programa queremos depurar el código. Alguien sabe como hacerlo??

     

    Pongo mi Código:

     

    protected override void OnStart(string[] args)

    {

    try

    {

    LoadData();

    }

    catch (Exception ex)

    {

    throw ex; 

    //Aqui poner algo que salte una ventanita con el error y que luego pare para que me salgue la posiblidad de volverlo arrancar desde windows?

    }

    th = new System.Threading.Thread(new System.Threading.ThreadStart(StartService));

    th.Start();

    }

     

    Muchas Gracias

     

     

    miércoles, 29 de octubre de 2008 16:44

Respuestas

  • ahh

    ya claro...

    no puedes...

     

    un servicio por defnicion no pude interacturar con el escritorio del usuario ya que tradicionalmente abren una sesion diferete.

     

    lo mejor rs que crees una entrada en el log de eventos de windows.

     

    miércoles, 29 de octubre de 2008 20:53
  • Básicamente tienes que saber que tipo de errores esperas, lo cual será conforme a lo que sea que se haga en ese instante, desde ahí puedes llamar a otro servicio enviándole el tipo de error, y lo guarde a un log, para depuración por ejemplo y/o que tras una pausa de x segundos reintente de nuevo arrancar el servicio (dependiendo del tipo de error quizás sea inútil), si se generan x fallos en un tiempo determinado le confirmas para que no insista...

    jueves, 30 de octubre de 2008 1:44

Todas las respuestas

  •  

    Code Snippet

    try

    {

       LoadData();

    }

    catch (Exception ex)

    {

    //Aqui poner algo que salte una ventanita con el error y que luego pare para que me salgue la posiblidad de volverlo arrancar desde windows?

        throw ex; 

       

    }

     

     

    miércoles, 29 de octubre de 2008 18:28
  • Buenas!!!

    No se si me expresado bien, pero tengo que quitar el throw ex porque sino sale la ventana de que con que depurador quiero depurar el servicio.Y he puesto ese comentario para expresar que es lo que quiero poner en el catch

    Saludos


    miércoles, 29 de octubre de 2008 20:46
  • ahh

    ya claro...

    no puedes...

     

    un servicio por defnicion no pude interacturar con el escritorio del usuario ya que tradicionalmente abren una sesion diferete.

     

    lo mejor rs que crees una entrada en el log de eventos de windows.

     

    miércoles, 29 de octubre de 2008 20:53
  • Básicamente tienes que saber que tipo de errores esperas, lo cual será conforme a lo que sea que se haga en ese instante, desde ahí puedes llamar a otro servicio enviándole el tipo de error, y lo guarde a un log, para depuración por ejemplo y/o que tras una pausa de x segundos reintente de nuevo arrancar el servicio (dependiendo del tipo de error quizás sea inútil), si se generan x fallos en un tiempo determinado le confirmas para que no insista...

    jueves, 30 de octubre de 2008 1:44