¿Cómo puedo cargar y descargar dinámicamente los conjuntos de .NET dentro de un servicio WCF?
-
30-10-2019 - |
Pregunta
Quiero desarrollar un servicio web de Windows alojado WCF que se comporte como un servicio de administración de ejecución y informes de tareas. Cada tarea se representaría como un ensamblaje de .NET, el nombre de la tarea y la ruta DLL estarían en una configuración central. La tarea tendría principalmente una ejecución y un método de parada como mínimo. Debería ser posible cargar, ejecutar, detener y descargar tareas mientras el servicio WCF se está ejecutando y otras tareas se están ejecutando. Una instancia de cada tarea puede estar ejecutándose simultáneamente. Una tarea que tiene una excepción no debe abortar otras tareas. Estoy pensando en métodos como
[OperationContract]
bool Load(string taskName);
[OperationContract]
bool Run(string taskName);
Estoy pensando en cómo puedo lograr estas tareas de carga y descarga a pedido, así como en el aislamiento. Algunas opciones serían utilizando Reflection, MAF (System.Addin), etc. El golpe de rendimiento inicial a la carga es aceptable ya que esta carga/descarga ocurriría con mucha frecuencia.
¿Cuál es la mejor manera (biblioteca, API, marco, etc.) para lograr este objetivo?
No hay solución correcta