Comment puis-je charger et décharger dynamiquement les assemblages .NET dans un service WCF

StackOverflow https://stackoverflow.com/questions/5933952

  •  30-10-2019
  •  | 
  •  

Question

Je souhaite développer un service Web WCF Hidaged Windows Service qui se comporterait comme un service de gestion et de rapport d'exécution de tâches. Chaque tâche serait représentée comme un assemblage .NET, le nom de la tâche et le chemin DLL seraient dans une configuration centrale. La tâche aurait principalement un exécution et une méthode d'arrêt à tout le moins. Il devrait être possible de charger, d'exécuter, d'arrêter et de décharger des tâches pendant l'exécution du service WCF et d'autres tâches sont en cours d'exécution. Une instance de chaque tâche peut être exécutée simultanément. Une tâche ayant une exception ne doit pas interrompre d'autres tâches. Je pense à des méthodes comme

[OperationContract]    
bool Load(string taskName);
[OperationContract]
bool Run(string taskName);

Je pense à la façon dont je peux accomplir ces tâches de chargement et de déchargement à la demande ainsi que l'isolement. Certaines options seraient utilisées par la réflexion, MAF (System.Addin) etc. Le coup de performance initial pour le chargement est acceptable car ce chargement / décharge se produirait très rarement.

Quelle est la meilleure façon (bibliothèque, API, cadre, etc.) pour atteindre cet objectif.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top