一背景
我在我们企业建立了一套质量管理系统涉及三个企业(子公司)他们分布在同一个城市的不同地方相隔一二十公里而且系统的用户比较多这两个特点给系统的维护浪费我们大量的时间根据系统运行在局域网和必须依赖数据库的特点我实现了我们自己的系统发布和自动更新功能
二原理
)NET的及时编译与跨平台性
)数据库的二进制大对象操作
)NET的反射能力
三程序结构
)独立的启动文件文件格式EXE承担系统的启动和更新职责
)对立的业务模块文件格式DLL承担具体的系统业务功能
)配置文件文件格式XML 承担系统粘合剂共享系统信息
四具体操作和实现过程
)建立系统的启动文件验证系统的更新标志根据更新标志实现系统的更新并读取配置文件中的业务主体模块通过反射启动主体模块一般为登陆窗口或系统的主窗口
)建立独立的系统业务模块包括系统的登陆和系统的主窗口等部分
)建立系统的配置文件记录系统的数据库配置和系统的启动模块以及其他的配置信息本文件可以自动更新
)更新过程通过数据库系统的二进制大对象操作将所得对象转化成文件后储存到本地硬盘完成系统的更新
)系统的发布时只包含一个独立的启动文件和一个配置文件可以依靠邮件和复制完成系统的发布
五缺点
)系统的独立启动文件不能自动更新尽最大限度的减少启动文件的职责最大限度地使用配置文件共享信息
)系统和数据库系统紧密耦合但系统建立在数据库的基础上数据库必须有效
六配套工具
系统发布工具功能主要是将具体的文件放到数据库中实现文件到数据库二进制大对象的转化过程以及一些删除和修改的维护