在一些应用系统中,经常要用到一些需要在后台自动执行的服务,基于这个,我设计了一个通用的window服务框架。包含三部分
1、服务程序:服务的启动,停止,业务插件库的加载。
2、调度监控:独立的线程,对其他业务插件库定时检测状态,对需要有定时任务的插件触发事件。
3、更新服务:自动从服务器升级和更新新的插件库,实现自动加载插件,自动可以关闭正在运行的对应插件,然后再加载,再启动。所有的插件都可以自动发现。
通过插件式服务可以随意增加新的任务,彼此之间独立。
实现过程:
(1)设计插件接口
Initialize()函数相当于构造函数,做插件初始化
DoTask()执行对应的业务功能,建议在这个接口实现类中启动一个业务线程,不要在这里执行业务功能。
Dispose()插件卸载时执行清理
(2)主服务程序
主服务程序很简单,.net可以基本实现,在主程序中建立一个插件服务类(PluginServices)
这个类实现了插件库的加载和运行
在服务程序中建立。
下一篇写一个插件库







}
浙公网安备 33010602011771号