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

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chinahuyong/article/details/7979370 RDIFramework.NET ━ .NET快速信息化系统开发框架4.2 平台自动升级模块 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、框架升级效果

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

图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”文件,此文件实例设置如下:

1
2
3
4
5
<? xmlversion ="1.0"encoding="utf-8"?>
< 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配置为实际的更新服务地址即可。


作者: 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 联系我,非常感谢。

相关文章
|
15天前
|
Linux API C#
基于 .NET 开发的多功能流媒体管理控制平台
基于 .NET 开发的多功能流媒体管理控制平台
|
15天前
|
监控 前端开发 API
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
|
1月前
|
消息中间件 开发框架 监控
NET任务调度框架Hangfire使用指南
Hangfire 是一个用于 .NET 应用程序的开源任务调度框架,支持长时间运行任务、定时任务等。通过简单的安装配置,即可将任务从主线程分离,提升应用性能。支持多种数据库,提供丰富的任务类型如立即执行、延迟执行和周期性任务,并有可视化管理界面 Hangfire Dashboard。还支持安全性配置及扩展插件,如 Hangfire.HttpJob,适合各种复杂场景下的任务调度需求。
60 1
NET任务调度框架Hangfire使用指南
|
2月前
|
开发框架 安全 .NET
在数字化时代,.NET 技术凭借跨平台兼容性、丰富的开发工具和框架、高效的性能及强大的安全稳定性,成为软件开发的重要支柱
在数字化时代,.NET 技术凭借跨平台兼容性、丰富的开发工具和框架、高效的性能及强大的安全稳定性,成为软件开发的重要支柱。它不仅加速了应用开发进程,提升了开发质量和可靠性,还促进了创新和业务发展,培养了专业人才和技术社区,为软件开发和数字化转型做出了重要贡献。
42 5
|
2月前
|
传感器 人工智能 供应链
.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。
本文深入探讨了.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。通过企业级应用、Web应用及移动应用的创新案例,展示了.NET在各领域的广泛应用和巨大潜力。展望未来,.NET将与新兴技术深度融合,拓展跨平台开发,推动云原生应用发展,持续创新。
49 4
|
2月前
|
开发框架 .NET C#
.NET 技术凭借高效开发环境、强大框架支持及跨平台特性,在软件开发中占据重要地位
.NET 技术凭借高效开发环境、强大框架支持及跨平台特性,在软件开发中占据重要地位。从企业应用到电子商务,再到移动开发,.NET 均展现出卓越性能,助力开发者提升效率与项目质量,推动行业持续发展。
40 4
|
2月前
|
机器学习/深度学习 人工智能 Cloud Native
在数字化时代,.NET 技术凭借其跨平台兼容性、丰富的类库和工具集以及卓越的性能与效率,成为软件开发的重要平台
在数字化时代,.NET 技术凭借其跨平台兼容性、丰富的类库和工具集以及卓越的性能与效率,成为软件开发的重要平台。本文深入解析 .NET 的核心优势,探讨其在企业级应用、Web 开发及移动应用等领域的应用案例,并展望未来在人工智能、云原生等方面的发展趋势。
46 3
|
2月前
|
消息中间件 监控 数据可视化
基于.NET开源、功能强大且灵活的工作流引擎框架
基于.NET开源、功能强大且灵活的工作流引擎框架
|
2月前
|
网络协议 Unix Linux
精选2款C#/.NET开源且功能强大的网络通信框架
精选2款C#/.NET开源且功能强大的网络通信框架
|
2月前
|
开发框架 JavaScript 前端开发
2024年全面且功能强大的.NET快速开发框架推荐,效率提升利器!
2024年全面且功能强大的.NET快速开发框架推荐,效率提升利器!