RDIFramework.NET ━ .NET快速信息化系統開發框架-4.2 平臺自動升級模塊
RDIFramework.NET ━ .NET快速信息化系統開發框架
4.2 平臺自動升級模塊
4.2 平臺自動升級模塊
在軟件的生命周期中,軟件維護是一個重要的階段,維護過程中涉及程序文件的升級更新。當部署的用戶端數量較多時,升級程序的工作量大,目前通過網絡(包括互聯網、局域網)自動檢測并更新程序的模式已經普及應用。軟件開發過程中盡量使用可復用模塊化設計技術,這點在軟件行業內已形成共識。在實際開發過程中,由于模塊化設計需使其具有通用性,要能滿足在不同應用環境下差異化需求,這就要求模塊化的軟件設計在軟件功能上提供眾多的參數配置,在不同的應用環境下使用不同的配置。絕大部分的軟件需要不定期升級更新,在軟件設計期如果不考慮軟件升級更新的問題,在后繼的軟件維護工作中會遇到極大的困難。 我們的框架客戶端可以部署為WinForm、WebForm、WPF、Silverlight等,如果架構不是在在WinForm之上(即經典的C/S結構),那么升級顯得尤為重要。
C/S 結構有其固有的特點,如能充分發揮客戶端的快速響應處理能力,很多工作可以由客戶端處理后再提交給服務器,但是客戶端布署,維護升級的成本卻是非常的高。在我們的框架中已經架設了自動升級布署組件(CAutoUpdater),部署好升級服務器后,只需調用升級組件接口一個方法即可完成系統的升級。解決C/S在維護升級方面的問題,充分展現C/S結構所帶來的諸多優勢。
4.2.1、框架升級效果
在我們的框架運行時默認就是檢測是否需要更新,如果沒有更新就會自動進入登錄界面。若框架存在更新,就會提示用戶進行升級的選擇(升級部署必須正確)。如下圖所示:

圖4.2.1-1是否進行框架升級選擇
用戶單擊“跳過”按鈕,可跳過升級,直接進入登錄界面,單擊“確定”或系統在用戶沒有任何操作的情況下默認等待10秒就自動進入升級程序,進行框架的升級,如下圖所示:

圖4.2.1-2框架升級進度
框架升級完成,如果我們在升級的服務端設置了需要重新啟動,則會彈出下面的窗口,單擊“確定”立即進入框架登錄界面,或等待5秒自動進入登錄界面。如下圖所示:

圖4.2.1-3框架升級完成
4.2.2、框架升級的配置
在RDIFramework.NET V2.7版本中,我們新增了自動升級服務端的配置工具,使框架升級的配置極為簡單。在這兒我們選擇傳統的IIS進行部署。假設我們升級的相關文件放在服務端的D盤CAutoupdater文件夾下,打開IIS,新建一個網站,將其物理路徑指向:D:\CAutoupdater,具體IIS的配置可參考相關文章,在這兒不再介紹。在這兒重點介紹服務端AutoupdateService.xml文件。

圖4.2.2-1 服務端 AutoupdateService.xml文件
通過AutoupdateService.xml文件可以看到,目前我們新增了一個待更新的文件RDIFramework.NET.exe,其版本號通過lastver配置項提供,文件大小通過size配置項提供,還有一個配置項needRestart,是否需要重啟應用程序,意思是說,更新本文件后,主程序是否需要重新啟動。url配置項就是待更新文件實際的服務端地址,客戶端通過這個地址來下載這個文件。客戶端是如何判斷當前是否需要更新呢?這兒主要是通過文件的MD5、lastver(最新的版本號)和size(文件大小)來判斷,三者只要取其一即可,一般我們是通過文件的MD5來進行升級判斷,這樣更加的精確。下面我們來看一下如何自動生成服務端的配置文件(AutoupdateService.xml),如下圖所示:

圖4.2.2-2 CAutoupdater服務端配置
在上圖中,配置文件的名稱默認不允許修改,服務端地址就是我們配置IIS時的URL地址,在我的這個實例中是:http://localhost:8010/,服務端目錄就是IIS對應URL地址所在的物理地址,在我的實例中是:D:\CAutoupdater,在界面下方的文件列表中,我們可以添加需要更新的文件,對于選擇錯誤的文件,也可以對其選中后移除,可以看到文件列表的第一列為“重啟?”,如果選中,則表示客戶端升級后,需要重啟客戶端主程序,以完成更新,這需要根據實際的項目要求做相應的設置,沒有定論。單擊“生成”按鈕,即可自動生成服務端的配置文件AutoupdateService.xml,同時把文件列表中的文件拷貝到指定的“服務端目錄”中去。這樣,就完成了服務端的配置。
同時需要說明的時,同時要修改CAutoUpdater項目文件中的“Autoupdater.config”文件,此文件實例設置如下:
<?xmlversion="1.0"encoding="utf-8"?> <Configxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <Enabled>true</Enabled> <ServerUrl>http://localhost:8010/AutoupdateService.xml</ServerUrl> </Config>
其中的:http://localhost:8010/AutoupdateService.xml 就是升級服務器上升級配置文件的URL地址。在客戶端中也要包含這個文件,以讓客戶可以通過這個文件中配置的升級服務器的地址,找到待升級的文件。
找到RDIFramework.NET(.NET快速信息化系統開發整合框架)可執行文件所在目錄下的“Autoupdater.config”,使用文本文件打開后找到“ServerUrl”配置節,如下圖所示:

圖4.2.2-3框架升級配置
把其中的http://localhost:8010/AutoupdateService.xml配置為實際的更新服務地址即可。
作者:
RDIF
出處:
http://www.rzrgm.cn/huyong/
Email:
406590790@qq.com
QQ:
406590790
微信:
13005007127(同手機號)
框架官網:
http://www.guosisoft.com/
http://www.rdiframework.net/
框架其他博客:
http://blog.csdn.net/chinahuyong
http://www.rzrgm.cn/huyong
國思RDIF開發框架
,
給用戶和開發者最佳的.Net框架平臺方案,為企業快速構建跨平臺、企業級的應用提供強大支持。
關于作者:系統架構師、信息系統項目管理師、DBA。專注于微軟平臺項目架構、管理和企業解決方案,多年項目開發與管理經驗,曾多次組織并開發多個大型項目,在面向對象、面向服務以及數據庫領域有一定的造詣。現主要從事基于
RDIF
框架的技術開發、咨詢工作,主要服務于金融、醫療衛生、鐵路、電信、物流、物聯網、制造、零售等行業。
如有問題或建議,請多多賜教!
本文版權歸作者和CNBLOGS博客共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,如有問題,可以通過微信、郵箱、QQ等聯系我,非常感謝。

浙公網安備 33010602011771號