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

相关文章
|
1月前
|
数据可视化 网络协议 C#
C#/.NET/.NET Core优秀项目和框架2024年3月简报
公众号每月定期推广和分享的C#/.NET/.NET Core优秀项目和框架(每周至少会推荐两个优秀的项目和框架当然节假日除外),公众号推文中有项目和框架的介绍、功能特点、使用方式以及部分功能截图等(打不开或者打开GitHub很慢的同学可以优先查看公众号推文,文末一定会附带项目和框架源码地址)。注意:排名不分先后,都是十分优秀的开源项目和框架,每周定期更新分享(欢迎关注公众号:追逐时光者,第一时间获取每周精选分享资讯🔔)。
|
5天前
|
人工智能 自然语言处理 算法
分享几个.NET开源的AI和LLM相关项目框架
分享几个.NET开源的AI和LLM相关项目框架
|
2月前
|
数据采集 存储 监控
.NET智慧手术室管理平台源码
术前访视记录单、手术风险评估表、手术安全核查表、自费药品或耗材、麻醉知情同意书、麻醉记录单、分娩镇痛记录单、麻醉复苏单、术后镇痛记录单、术后访视记录单、压伤风险评估量表、手术清点记录单、护理记录单、输血护理记录单。
31 0
|
2月前
|
开发框架 网络协议 .NET
深入.net框架
深入.net框架
12 0
|
2月前
深入.net平台的分层开发
深入.net平台的分层开发
75 0
|
4月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
46 0
|
13天前
|
开发框架 前端开发 JavaScript
JavaScript云LIS系统源码ASP.NET CORE 3.1 MVC + SQLserver + Redis医院实验室信息系统源码 医院云LIS系统源码
实验室信息系统(Laboratory Information System,缩写LIS)是一类用来处理实验室过程信息的软件,云LIS系统围绕临床,云LIS系统将与云HIS系统建立起高度的业务整合,以体现“以病人为中心”的设计理念,优化就诊流程,方便患者就医。
21 0
|
2月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
32 0
|
2月前
mvc.net分页查询案例——mvc-paper.css
mvc.net分页查询案例——mvc-paper.css
5 0
|
2月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
108 5