2012-01-22 14 views
12

¿Alguien podría decirme si hay alguna alternativa a los Servicios de Windows? El motivo de mi pregunta es que encuentro que los servicios de Windows son difíciles de probar, ya que requiere que se instalen primero.C# Servicios de Windows Alternativa

Gracias.

+1

Su afirmación: "El motivo de mi pregunta es que considero que los servicios de Windows son difíciles de probar, ya que es necesario instalarlos primero". Me gustaría decir que puede probar el servicio de ventana escribiendo primero su totalidad código en el clic de un botón en un formulario. Después de que esté satisfecho con su código de un Formulario, puede copiar y pegar ese código en el archivo Service.cs. –

+0

Tengo que estar de acuerdo con OP en este caso, los servicios son más difíciles de solucionar, especialmente en el entorno de producción. Pero sí, hay formas de mitigar ese problema, escribiendo primero el código ejecutado como una consola/formulario ganador. Para problemas de instalación y privilegios, su mejor opción es registrar y visualizar eventos aunque –

Respuesta

5

Esto solo requiere organizar y factorizar correctamente su código para que no necesite llamar al desde el método de servicio. IE, que tiene una llamada de función que se ejecuta todo - que, o bien se puede llamar desde el servicio, o mediante el método principal - o NUnit, etc.

De lo contrario, si todavía quiere una alternativa, se podría escribir todo dentro de el método Principal, y luego ejecute su programa como parte de una Tarea Programada de Windows.

+3

Desafortunadamente, no es tan simple como eso. Habrá errores de tiempo de ejecución específicos del servicio de Windows como problemas de instalación, registro, violaciones de acceso, etc. que son difíciles de probar. Puede adjuntar depurador al proceso pero aún así no es una forma deseable de descubrir los errores. –

0

En su lugar, podría considerar utilizar Roles de trabajo de Windows Azure. Obtiene un servicio en ejecución, como un entorno que también está alojado en la nube.

3

Su mejor alternativa a los servicios de Windows es Windows Server AppFabric. Aquí es bueno blog entry sobre su uso.

Sin embargo, no creo que sea necesariamente más fácil de probar. Su mejor apuesta para probar es simplemente ejecutar su Servicio de Windows desde la consola. Eso se puede hacer simplemente instanciando su objeto de servicio y exponiendo un método para iniciarlo.

13

Echa un vistazo a Topshelf project. Simplicidad de una aplicación de consola, pero puede instalarse como un servicio de Windows.

Cuestiones relacionadas