RDIFramework.NET ━ .NET快速信息化系统开发框架-4.2 平台自动升级模块

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chinahuyong/article/details/7979370

RDIFramework.NET ━ .NET快速信息化系统开发框架

4.2 平台自动升级模块 

4.2 平台自动升级模块

  在软件的生命周期中,软件维护是一个重要的阶段,维护过程中涉及程序文件的升级更新。当部署的用户端数量较多时,升级程序的工作量大,目前通过网络(包括互联网、局域网)自动检测并更新程序的模式已经普及应用。软件开发过程中尽量使用可复用模块化设计技术,这点在软件行业内已形成共识。在实际开发过程中,由于模块化设计需使其具有通用性,要能满足在不同应用环境下差异化需求,这就要求模块化的软件设计在软件功能上提供众多的参数配置,在不同的应用环境下使用不同的配置。绝大部分的软件需要不定期升级更新,在软件设计期如果不考虑软件升级更新的问题,在后继的软件维护工作中会遇到极大的困难。 我们的框架客户端可以部署为WinForm、WebForm、WPF、Silverlight等,如果架构不是在在WinForm之上(即经典的C/S结构),那么升级显得尤为重要。
C/S 结构有其固有的特点,如能充分发挥客户端的快速响应处理能力,很多工作可以由客户端处理后再提交给服务器,但是客户端布署,维护升级的成本却是非常的高。在我们的框架中已经架设了自动升级布署组件(CAutoUpdater),部署好升级服务器后,只需调用升级组件接口一个方法即可完成系统的升级。解决C/S在维护升级方面的问题,充分展现C/S结构所带来的诸多优势。

4.2.1、框架升级效果

  在我们的框架运行时默认就是检测是否需要更新,如果没有更新就会自动进入登录界面。若框架存在更新,就会提示用户进行升级的选择(升级部署必须正确)。如下图所示:

RDIFramework.NET ━ .NET快速信息化系统开发框架-4.2 平台自动升级模块

图4.2.1-1是否进行框架升级选择

  用户单击“跳过”按钮,可跳过升级,直接进入登录界面,单击“确定”或系统在用户没有任何操作的情况下默认等待10秒就自动进入升级程序,进行框架的升级,如下图所示:

RDIFramework.NET ━ .NET快速信息化系统开发框架-4.2 平台自动升级模块

图4.2.1-2框架升级进度

  框架升级完成,如果我们在升级的服务端设置了需要重新启动,则会弹出下面的窗口,单击“确定”立即进入框架登录界面,或等待5秒自动进入登录界面。如下图所示:

RDIFramework.NET ━ .NET快速信息化系统开发框架-4.2 平台自动升级模块

图4.2.1-3框架升级完成

4.2.2、框架升级的配置   

  在RDIFramework.NET V2.7版本中,我们新增了自动升级服务端的配置工具,使框架升级的配置极为简单。在这儿我们选择传统的IIS进行部署。假设我们升级的相关文件放在服务端的D盘CAutoupdater文件夹下,打开IIS,新建一个网站,将其物理路径指向:D:\CAutoupdater,具体IIS的配置可参考相关文章,在这儿不再介绍。在这儿重点介绍服务端AutoupdateService.xml文件。

RDIFramework.NET ━ .NET快速信息化系统开发框架-4.2 平台自动升级模块

图4.2.2-1 服务端 AutoupdateService.xml文件

  通过AutoupdateService.xml文件可以看到,目前我们新增了一个待更新的文件RDIFramework.NET.exe,其版本号通过lastver配置项提供,文件大小通过size配置项提供,还有一个配置项needRestart,是否需要重启应用程序,意思是说,更新本文件后,主程序是否需要重新启动。url配置项就是待更新文件实际的服务端地址,客户端通过这个地址来下载这个文件。客户端是如何判断当前是否需要更新呢?这儿主要是通过文件的MD5、lastver(最新的版本号)和size(文件大小)来判断,三者只要取其一即可,一般我们是通过文件的MD5来进行升级判断,这样更加的精确。下面我们来看一下如何自动生成服务端的配置文件(AutoupdateService.xml),如下图所示:

RDIFramework.NET ━ .NET快速信息化系统开发框架-4.2 平台自动升级模块

图4.2.2-2  CAutoupdater服务端配置

  在上图中,配置文件的名称默认不允许修改,服务端地址就是我们配置IIS时的URL地址,在我的这个实例中是:http://localhost:8010/,服务端目录就是IIS对应URL地址所在的物理地址,在我的实例中是:D:\CAutoupdater,在界面下方的文件列表中,我们可以添加需要更新的文件,对于选择错误的文件,也可以对其选中后移除,可以看到文件列表的第一列为“重启?”,如果选中,则表示客户端升级后,需要重启客户端主程序,以完成更新,这需要根据实际的项目要求做相应的设置,没有定论。单击“生成”按钮,即可自动生成服务端的配置文件AutoupdateService.xml,同时把文件列表中的文件拷贝到指定的“服务端目录”中去。这样,就完成了服务端的配置。

  同时需要说明的时,同时要修改CAutoUpdater项目文件中的“Autoupdater.config”文件,此文件实例设置如下:

1
2
3
4
5
<?xmlversion="1.0"encoding="utf-8"?>
<Enabled>true</Enabled>
</Config>

  其中的:http://localhost:8010/AutoupdateService.xml 就是升级服务器上升级配置文件的URL地址。在客户端中也要包含这个文件,以让客户可以通过这个文件中配置的升级服务器的地址,找到待升级的文件。

  找到RDIFramework.NET(.NET快速信息化系统开发整合框架)可执行文件所在目录下的“Autoupdater.config”,使用文本文件打开后找到“ServerUrl”配置节,如下图所示:

RDIFramework.NET ━ .NET快速信息化系统开发框架-4.2 平台自动升级模块

图4.2.2-3框架升级配置

  把其中的http://localhost:8010/AutoupdateService.xml配置为实际的更新服务地址即可。


作者: EricHu
出处: http://blog.csdn.net/chinahuyong
Email: 406590790@qq.com
QQ 交流:406590790 
平台博客:   【CSDN】http://blog.csdn.net/chinahuyong
         【CNBLOGS】http://www.cnblogs.com/huyong
关于作者:高级工程师、信息系统项目管理师、DBA。专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,曾多次组织并开发多个大型项目,精通DotNet,DB(SqlServer、Oracle等)技术。熟悉Java、Delhpi及Linux操作系统,有扎实的网络知识。在面向对象、面向服务以及数据库领域有一定的造诣。现从事DB管理与开发、WinForm、WCF、WebService、网页数据抓取以及ASP.NET等项目管理、开发、架构等工作。
如有问题或建议,请多多赐教!
本文版权归作者和CNBLOGS博客共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过邮箱或QQ 联系我,非常感谢。

RDIFramework.NET ━ .NET快速信息化系统开发框架-4.2 平台自动升级模块

上一篇:使用注册表关闭Windows 10 Defender


下一篇:上海地铁明年初将可扫码和刷脸进站 支持支付宝付款