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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、软件开发环境以及开发工具: 框架.NET Framework 4.0 工具:Visual Studio 2017 插件:DevExpress 18.1.7 环境:IIS 7 二、实现步骤 (1)在项目中创建一个名为WinformAutoUpdate.APP的Winform窗体应用工程,并将默认的Form1.cs窗体文件重命名为MainFrm.cs作为主程序窗体 创建主程序窗体 (2)在项目中再创建一个名为AutoUpdateTask的Winform应用程序工程,并将默认的Form1.cs窗体文件重命名为AutoUpdateTaskFrm.cs作为更新程序窗体 创建更新程序窗体 (3)在更新程序窗体中放入图上所示的相关控件; 进度条控件用于显示更新进度,放入一个Button按钮控件用于用户根据提示进行操作! 实现思路: 1、将更新程序放入磁盘的目录下面,并将其放在已经发布了的IIS中 当用户在运行主程序窗体并点击左上角的更新按钮时,弹出程序更新窗体,并先自动从IIS中拉取updateList.xml文件,然后与本地程序作对比,检测是否需要升级软件; 如果有新版本发布,则点击“立即更新&rdquo;按钮,程序将从IIS中拉取新发布的ZIP软件包,并自动解压到主程序目录中,覆盖主程序目录中的相关文件(这里值得注意的是,在解压程序之前,我们需要先结束主程序的进程,不然会因主程序进程正在使用而导致报错,另外,我们用到的插件是ICSharpCode.SharpZipLib.dll第三方动态链接库,网上有现成的,可以直接Down下来用);
### 回答1: rdiframework.net是一个非常有用的网站。该网站提供了一个强大的RDIFramework框架,可以帮助开发人员更轻松地创建和管理自己的项目。 首先,RDIFramework框架具有开放源代码的优势,这意味着任何人都可以免费使用和修改框架以满足自己的需求。这为开发人员提供了更大的自由度,可以根据项目的要求进行自定义和扩展。 其次,RDIFramework提供了丰富的功能和组件,可以支持多种应用程序开发需求。这些功能包括数据库访问、用户认证、缓存管理、国际化和本地化支持等。开发人员可以根据自己的项目需求选择适当的组件,减少了开发时间和工作量。 此外,RDIFramework还提供了详细的文档和示例代码,帮助开发人员快速上手和理解框架。文档内容清晰明了,涵盖了框架的所有方面,并提供了使用框架的步骤和指导。示例代码则展示了框架的各种用法和功能,使开发人员可以更好地理解和应用。 最后,RDIFramework还具有一个活跃的社区,开发人员可以在这里分享经验、提问问题和获取支持。社区成员之间的互动和交流可以促进框架的进一步改进和优化,保证了框架的可靠性和稳定性。 总之,rdiframework.net是一个极具价值的网站,为开发人员提供了一个优秀的RDIFramework框架和相关支持资源,帮助他们快速、高效地开发和管理项目。 ### 回答2: rdiframework.net是一个网站,专注于提供关于RDI框架的信息和资源。RDI框架是一种用于软件开发框架,它旨在帮助开发人员更高效地构建可重用和可拓展的应用程序。这个网站提供了关于RDI框架的详细介绍和指南,使开发人员可以快速了解并开始使用这个框架。 在rdiframework.net上,你可以找到关于RDI框架的基本概念、原则和设计模式的解释。它解释了框架的主要组成部分和它们之间的关系,以及如何正确地使用它们来构建软件应用程序。 此外,rdiframework.net还提供了大量的代码示例和教程,帮助开发人员学习和掌握RDI框架。这些示例涵盖了各种常见的应用场景,涉及到从基本的模块和组件构建到复杂的应用程序设计。 除了文档和教程,rdiframework.net还提供了一个社区论坛,开发人员可以在这里交流和分享关于RDI框架的经验和问题。这个论坛是一个宝贵的资源,可以帮助开发人员解决遇到的困难,并从其他开发人员的经验中学习。 总之,rdiframework.net是一个非常有价值的网站,它为想要学习和使用RDI框架开发人员提供了丰富的资源和支持。无论是初学者还是有经验的开发人员,都可以从这个网站中受益,并加快他们的软件开发过程。 ### 回答3: rdiframework.net是一个网站开发框架,旨在帮助开发人员更快速、高效地构建和管理网站。该框架提供了一套功能强大且易于使用的工具和组件,以简化网站开发的复杂性。 首先,rdiframework.net具有丰富的模块和功能,能够满足各种不同类型的网站需求。例如,它提供了用于用户管理、权限控制、内容管理和电子商务等模块,方便开发人员搭建多样化的网站。 其次,rdiframework.net采用了现代化的技术和面向对象的设计原则,使得开发人员可以更加轻松地编写清晰、可维护的代码。它支持多种编程语言,包括C#、JavaScript、HTML和CSS,使得开发人员能够根据自己的偏好和技能选择适合自己的开发方式。 另外,rdiframework.net还提供了一套丰富的文档和教程,以帮助开发人员快速上手并深入了解框架的使用。开发人员可以通过查看文档了解不同功能的用法和配置,以及通过教程学习如何使用框架构建完整的网站。 总的来说,rdiframework.net是一个功能强大、易用性高的网站开发框架。它通过提供丰富的模块和功能,采用现代化的技术和面向对象的设计原则,以及提供详尽的文档和教程,帮助开发人员更加高效地构建和管理网站。无论是初学者还是经验丰富的开发人员,都可以从中受益并加快网站开发的速度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值