1. 程式人生 > >RDIFramework.NET ━ .NET快速資訊化系統開發框架-4.2 平臺自動升級模組

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框架升級配置