我想开发一个 Windows 服务托管的 wcf Web 服务,该服务将充当任务执行管理和报告服务。每个任务将表示为一个 .net 程序集,任务名称和 dll 路径将位于中央配置中。该任务至少主要有一个 Execute 和一个 Stop 方法。应该可以在 wcf 服务运行和其他任务运行时加载、执行、停止和卸载任务。每个任务的一个实例可以同时运行。有异常的一项任务不应中止其他任务。我正在考虑类似的方法
[OperationContract]
bool Load(string taskName);
[OperationContract]
bool Run(string taskName);
我正在考虑如何按需完成此加载和卸载任务以及隔离。一些选项将使用反射、MAF(System.Addin)等。加载的初始性能影响是可以接受的,因为这种加载/卸载很少发生。
实现这一目标的最佳方式是什么(库、api、框架等)。