prefacio
A raíz del artículo anterior sobre el Programador de tareas de Windows, este artículo recogerá la creación de los servicios de Windows.
Entorno y herramientas
>Sistema Windows 10
>VS 2017
Mensaje de texto
1: Crear una nueva solución y crear un servicio de Windows. El nombre es "WindowsServiceDemo.exe”
2: Haz doble clic en el archivo "Service1.cs", haz clic derecho en el espacio en blanco > selecciona "Añadir instalador".
3: En los dos componentes generados, haz clic en el componente "serviceProcessInstaller1" y en el formulario de propiedades, configura el tipo de cuenta "Account" como "LocalSystem".
4: En los dos componentes generados, haz clic en el componente "serviceInstaller1", en el formulario de propiedades, establece las propiedades correspondientes y luego guarda.
5: Haz clic derecho en "Service1.cs" – > selecciona "Ver código".
6: En el método correspondiente, escribe la lógica de procesamiento. Método OnStart(): se refiere al método que entra cuando inicia el servicio de Windows. OnStop(): Como indica su nombre, esta es la forma de entrar cuando el servicio se detiene. Podemos escribir un temporizador para que el programa procese la lógica en el coito normal.
7: Crear dos archivos de bloc de notas, nombrar y modificar los nombres de sufijo "Install.bat" y "Uninstall.bat" respectivamente Nota: El nombre del sufijo es .bat. Pégalo dentro del proyecto. Y cambia el atributo a "Copiar a local".
8: Los dos archivos que acabamos de crear son para instalar y desinstalar el servicio. Ahora escribe el código por lotes en estos dos archivos y guarda. Abre el archivo "Install.bat" y escribe el siguiente código
Nota: "WindowsServiceDemo.exe" es el programa exe que acaba de generar. "AServiceTest" es el conjunto "ServiceName" en el componente "ServiceInstaller1".
Abre el archivo "Uninstall.bat" y escribe el siguiente código
9: F6 lo genera. En el directorio "bin\Debug" del proyecto. Haz clic derecho en "Install.bat" > selecciona "Ejecutar como administrador".
Una vez completada la instalación del servicio. Podemos ver que el archivo "Log.txt" escribe una línea de datos cada 10 segundos.
Podemos ver los servicios instalados. Run – > introduce "services.msc" enter.
Detengan el servicio ahora. Haz clic derecho en "Uninstall.bat" > selecciona "Ejecutar como administrador".
Después de desinstalar el servicio. Podemos ver que el archivo "Log.txt" también tiene una línea de datos escrita.
#Depuración de servicios de Windows
Los servicios de Windows no pueden iniciarse directamente con F5, F10 depurado. Entonces, ¿cómo depurar el programa si hay una anomalía? 1: Primero, usa el administrador para ejecutar el archivo "Install.bat" y deja que el programa se ejecute primero.
2: Vuelve a VS y selecciona "Depurar" en la barra de menús – > selecciona "Adjuntar al proceso".
3: En el formulario emergente, marca "Mostrar todos los procesos de los usuarios", encuentra la .exe aplicación que generamos y haz clic en "Adjuntar".
4: Romper el punto en el método, de modo que cuando se ejecuta durante un tiempo determinado, pueda activar la depuración.
Epílogo
La depuración de servicios de Windows es muy problemática, a veces el programa se escribe en un problema y el servicio no puede iniciar, lo que dificulta la depuración. Generalmente, escribir servicios para Windows irá acompañado de una aplicación de consola. Depura la app de consola y luego muévela a Windows Services. El siguiente tema describirá una forma más sencilla de crear un servicio de Windows.
Nota: Los archivos batch que inician y desinstalan ambos programas deben ejecutarse como administradores. Si no, será incorrecto.
|