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. UtilizandoSetServiceStatus
El servicio de funciones puede prolongar este intervalo, por ejemplo, con llamadasSetServiceStatus
con incrementadodwCheckPoint
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.