Saltar al contenido

El servicio no responde a la función de control (error 2186)

El paso a paso o código que encontrarás en este post es la resolución más eficiente y válida que encontramos a tu duda o problema.

Solución:

En general todo servicio debe hacer siguiendo dos cosas simples

  • si el administrador del servicio le envía un código de control como SERVICE_CONTROL_START, SERVICE_CONTROL_STOP y así sucesivamente si debe regresar en un intervalo corto. Utilizando SetServiceStatus El servicio de funciones puede prolongar este intervalo, por ejemplo, con llamadas SetServiceStatus con incrementado dwCheckPoint valor. (En el uso de .NET puede usar ServiceBase.RequestAdditionalTime en su lugar)
  • Todo servicio debe responder a SERVICE_CONTROL_INTERROGATE código de control solo con retorno. Este código de control se usa desde el administrador del servicio para detectar si el servicio aún está activo.

Si su programa no sigue una de las reglas, recibirá el error “El servicio no responde a la función de control”.

Si escribe un programa en .NET, no necesita hacer directamente las dos cosas que describí antes. los ServiceBase clase hacer allí para usted. Sin embargo, puedes romper fácilmente estas reglas si creas un subproceso que se ejecuta con prioridad más alta de lo normal o si hace un trabajo demasiado largo dentro de un identificador OnXXX (OnStop, OnStart, OnPowerEvent etc) sin llamar a ServiceBase.RequestAdditionalTime. Algunos otros trucos con hilos adicionales también pueden causar problemas.

Por lo general, esto sucede si está tratando de hacer demasiado trabajo en el OnStart llamada. Por ejemplo, si inicia un ciclo sin fin en el mismo hilo, recibirá este mensaje de error.

En general, el servicio debe crear un nuevo hilo en el OnStart llamada, y luego terminarla limpiamente en el OnStop llamada.

Por supuesto, eso no ayuda si está utilizando un código que funcionaba anteriormente. ¿Has probado a reiniciarlo desde el fallo? Me parece recordar que si ya tiene un servicio que está dañado, a veces puede ser complicado volver a funcionar sin reiniciarlo. Es posible que desee buscar en su lista de procesos y ver si todavía tiene una copia en ejecución, y eliminarla si es así.

Aquí tienes las reseñas y puntuaciones

Más adelante puedes encontrar las explicaciones de otros gestores de proyectos, tú asimismo tienes el poder dejar el tuyo si te gusta.

¡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 *