我有一个基本的任务框架,其中的任务,例如:部署和运行.NET程序集
- 做一些内容处理
- 报告生成
- 错误日志守望
- 邮件
- 等
被封装在一个ITask
接口,其中有一个Run
方法和其他状态相关的成员。
这些任务要么按计划持续运行,要么按需运行。它们可以作为Windows服务托管,也可以作为工作机器上的控制台应用程序托管。
主机应用程序运行在使用TaskRunner
类一组任务,它可以使用时间表,穿线等
我希望能够以更自动化的方式部署到员工的机器任务比执行发布和做更新。
基本上,我希望能够发送一个ITask接口(或其他子组件)的进程和实现,以便按某个时间表或某些设置运行。
我知道我可以动态加载程序集,而且我也看到:MEF。
什么是最好的方式去做这件事?我应该构建一个实现并将这些DLL发布到工作进程可以读取它们的已知目录中吗?我应该将DLL作为二进制发布到数据库,供工作人员阅读吗?
你知道任何好的方法,或有关部署程序集到数据库的文章?我很好奇现有的最佳实践,如果有的话,关于构建程序集的过程,为它生成二进制文件,将其保存到数据库,然后从数据库加载它。也许一个MSBuild任务? – eulerfx 2009-06-04 18:08:42