Creé un proyecto de servicio de Windows. Y si se crea un nuevo proyecto en el que obtener algo como esto:¿Debo usar solo un nuevo servicio() o más?
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
new Service1()
};
ServiceBase.Run(ServicesToRun);
y ahora tengo que añadir algunas funciones y temporizador para mi clase Service1()
y entonces todo está bien.
Ahora vamos a decir, mi servicio debe hacer algunas cosas como: la lectura de algunos archivos, borrar algunas carpetas, comprobar las conexiones ...
Y todos ellos deben ejecutar asíncrono. ¿Qué es ahora mejor? Copiar toda la functiont en Servicio1() y no cambiar nada más, o para crear para cada "cosas" una nueva clase (Servicio1(), Servicio2(), ...) y añadirlos como
ServicesToRun = new ServiceBase[]
{
new Service1(),
new Service2() //not sure this will compile
};
Justo preguntando. Quizás no entendí al 100% cómo funcionan los servicios ...
Pregunta interesante. Me lo he preguntado, pero nunca lo intenté. Oh, ciertamente * compilar * - la pregunta realmente es: ¿funciona *? Dado que la API acepta una matriz, mi suposición predeterminada es "sí, eso funcionará bien". Pero ... No lo he probado. Por supuesto, dado que el servicio necesita comenzar un nuevo hilo de todos modos, puede usar una única instancia de servicio para iniciar 3 conjuntos de operaciones, –
. ¿Vió esto? http://stackoverflow.com/questions/1688275/can-i-have-multiple-services-hosted-in-a-single-windows-executable - que explica cómo pero no el por qué. Realmente es una pregunta de diseño y depende de lo que estás haciendo. – ongle