一背景
我在我們企業建立了一套質量管理系統涉及三個企業(子公司)他們分布在同一個城市的不同地方相隔一二十公裡而且系統的用戶比較多這兩個特點給系統的維護浪費我們大量的時間根據系統運行在局域網和必須依賴數據庫的特點我實現了我們自己的系統發布和自動更新功能
二原理
) NET的及時編譯與跨平台性
) 數據庫的二進制大對象操作
) NET的反射能力
三程序結構
) 獨立的啟動文件文件格式EXE承擔系統的啟動和更新職責
) 對立的業務模塊文件格式DLL承擔具體的系統業務功能
) 配置文件文件格式XML 承擔系統粘合劑共享系統信息
四具體操作和實現過程
) 建立系統的啟動文件驗證系統的更新標志根據更新標志實現系統的更新並讀取配置文件中的業務主體模塊通過反射啟動主體模塊一般為登陸窗口或系統的主窗口
) 建立獨立的系統業務模塊包括系統的登陸和系統的主窗口等部分
) 建立系統的配置文件記錄系統的數據庫配置和系統的啟動模塊以及其他的配置信息本文件可以自動更新
) 更新過程通過數據庫系統的二進制大對象操作將所得對象轉化成文件後儲存到本地硬盤完成系統的更新
) 系統的發布時只包含一個獨立的啟動文件和一個配置文件可以依靠郵件和復制完成系統的發布
五缺點
) 系統的獨立啟動文件不能自動更新盡最大限度的減少啟動文件的職責最大限度地使用配置文件共享信息
) 系統和數據庫系統緊密耦合但系統建立在數據庫的基礎上數據庫必須有效
六配套工具
系統發布工具功能主要是將具體的文件放到數據庫中實現文件到數據庫二進制大對象的轉化過程以及一些刪除和修改的維護
From:http://tw.wingwit.com/Article/program/net/201311/13200.html