我想開發一個Windows服務託管的wcf Web服務,該服務將充當任務執行管理和報告服務。每個任務將被表示爲.net程序集,任務名稱和dll路徑將處於中央配置中。該任務至少主要具有Execute和Stop方法。 當wcf服務正在運行並且其他任務正在運行時,應該可以加載,執行,停止和卸載任務。每個任務的一個實例可以同時運行。一個有異常的任務不應該放棄其他任務。我正在考慮像我如何動態加載和卸載WCF服務中的.Net程序集
[OperationContract]
bool Load(string taskName);
[OperationContract]
bool Run(string taskName);
我在想如何可以完成這個加載和卸載任務的需求以及隔離。一些選項將使用反射,MAF(System.Addin)等。加載的初始性能是可接受的,因爲此加載/卸載很少發生。
什麼是實現此目標的最佳方式(庫,api,框架等)。