Me gustaría crear y administrar una aplicación de servicio de Windows sin "ayuda" del diseñador de Visual Studio.Servicio de Windows sin interferencia de Visual Studio
Dado que este es .NET, ya juzgar por MSDN y lo que hace el diseñador, esto significa que heredan de Installer
, y construir y hacer frente a ServiceProcessInstaller
y ServiceInstaller
para poder gestionar la ejecución tiempo de instalación del serivce.
Runtime, esto significa crear una subclase ServiceBase
y comenzando desde Main
usando ServiceBase.Run
(y imperiosas diversos métodos de manipulación ServiceBase
de eventos).
Sin embargo, cuando hago esto, Visual Studio insiste en tratar las subclases Installer
y ServiceBase
como archivos editados por el diseñador. Esto no ayuda exactamente a la legibilidad, sin mencionar el hecho de que, en general, no puede tratar con el código escrito a mano. Me gustaría evitar el diseñador para mantener las cosas manejables (para evitar el nebuloso quién sabe qué ejecutar, cuándo, particularmente para el código que es difícil de probar y depurar, como los servicios de Windows que después de todo deben instalar para ejecutarse), y también para poder especificar el nombre del servicio en tiempo de ejecución, en lugar de en tiempo de compilación, el diseñador no es compatible con eso.
¿Cómo puedo crear una aplicación de servicio de Windows sin toda la suciedad?
Es posible que desee echar un vistazo al proyecto TopShelf - http://topshelf-project.com/ – stuartd
hmm - limpio! Se ve un poco exagerado y aún no está maduro, pero si estuviera escribiendo una nueva aplicación, definitivamente lo consideraría. –