Saltar al contenido

Algunos servicios se detienen automáticamente si otros servicios no los están utilizando

Si encuentras alguna parte que no comprendes puedes comentarlo y haremos todo lo posible de ayudarte tan rápido como podamos.

Solución:

Esto es generalmente el resultado de una de dos cosas – ya sea (a) su OnStart() método está lanzando una excepción o (b) el OnStart() El método no está iniciando un hilo para hacer el trabajo.

Si el problema es (a), entonces la solución obvia es depurar el servicio para identificar qué está fallando. Como mínimo, ponga un try-catch bloque alrededor del contenido de la OnStart() y registre un error en el registro de eventos del sistema cuando ocurra una excepción. Luego puede ver los detalles en el Visor de eventos de Windows.

Si el problema es (b), entonces necesita crear un hilo que realmente haga algo. El subproceso debe ser un subproceso de primer plano (a diferencia de un subproceso de fondo) para evitar que el servicio se apague. un tipico OnStart() el método se ve así:

private System.Threading.Thread _thread;

protected override void OnStart(string[] args)

    try
    
        // Uncomment this line to debug...
        //System.Diagnostics.Debugger.Break();

        // Create the thread object that will do the service's work.
        _thread = new System.Threading.Thread(DoWork);

        // Start the thread.
        _thread.Start();

        // Log an event to indicate successful start.
        EventLog.WriteEntry("Successful start.", EventLogEntryType.Information);
    
    catch (Exception ex)
    
        // Log the exception.
        EventLog.WriteEntry(ex.Message, EventLogEntryType.Error);
    


private void DoWork()

    // Do the service work here...

Recibí este error y fue porque el disco duro se había llenado. Podría ser cualquier cosa que impida que el servicio se ejecute.

Acuérdate de que tienes permiso de valorar este ensayo si diste con el hallazgo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *