Necesito crear un servicio en .NET que mantenga el estado (interno) en memoria, genera múltiples hilos y generalmente es de larga ejecución. Hay opciones mucho -Servicio stateful de larga ejecución en .NET
- Buena de edad, de servicios de Windows
- Servicios de Comunicación de Windows
- Windows Workflow Foundation
Realmente no sé cuál escoger. La mayor parte de la funcionalidad está en una biblioteca utilizada por este servicio, por lo que el servicio en sí es bastante simple.
Por un lado, es importante que el host del servicio esté lo más cerca posible de "simplemente trabajar", lo que excluye el Servicio de Windows. Por otro lado, es importante que el servidor no elimine el servicio solo porque no hay actividad externa, lo que hace que WCF sea demasiado "aterrador". En cuanto a WF, su punto de venta más fuerte es la capacidad de crear procesos como, um ..., flujos de trabajo, que es algo que no necesito ni quiero.
En resumen, la plétora de tecnologías de Microsoft me confundió un poco.
lo agradecería ayuda con respecto a los pros y los contras de cada solución (o de otro tipo es que he dejado de mencionar) para el problema de un servicio de larga ejecución con estado en .NET
, gracias,
Asaf
PS,
estoy usando .NET 4.
EDIT:
- Lo que quiero decir con el host "simplemente funciona" es, por ejemplo, que el servicio que creo se reactive si se bloquea.
- Supongo que el motivo de esta pregunta es que he creado Servicios de Windows en el pasado (creo que fue en C++ con Win32 API), y no quiero perderme algo más sencillo si los hay como una cosa
¡Gracias por todas las respuestas hasta el momento!
Asaf.
EDIT 2:
voy a utilizar un servicio de Windows, y podría albergar un servicio WCF en su interior para permitir que otros procesos para comunicarse con él.
Gracias,
Asaf
esta es una gran pregunta, +1 y favorita –
Si no ha intentado crear un servicio de Windows en .NET, le recomiendo que lo intente. Realmente no es mucho más complicado que una aplicación de consola, y hay muchas formas de manejar reinicios y señalización. –