C/S框架新功能:自动检测升级包并强制关闭应用程序进行版本升级
C/S框架新功能:自动检测升级包并强制关闭应用程序进行版本升级
有种特殊场景:多个用户端正在使用系统过程中,管理员发布了新的升级包(发布新版本),并且要求客户端必须升级才能使用新功能,需要强制关闭程序进行升级。 本次功能升级适用的版本: 客户端界面强制升级提示: 基本实现: 1. 设计超时提示窗体:frmAutoUpgraderWaiting, 命名空间:CSFrameworkV5.Library.CommonForms.frmAutoUpgraderWaiting,如上图所示。 2. 在Program.cs 添加如下代码: C# Code: //启动自动检测最新升级包,强制升级定时器。 frmAutoUpgraderWaiting.StartAutoUpgrading(MdiTools.MainForm); 3. CSFramework.AutoUpgrader自动升级程序添加参数【强制更新版本】,如下图: 流程及原理 主程序通过.NET反射机制动态调用自动升级程序CSFramework.AutoUpgrader.UpgraderController类中的GetUpgraderPackages函数,返回最新的升级包数量,若数量>0,表示有新版本,立即启动超时提示窗体,超时完毕自动关闭程序。 用户重新运行程序,自动完成升级。 .NET反射跨程序集(跨域)调用指定方法: C# Code: /// <summary> /// 自动升级程序.NET反射器 /// </summary> public static class UpgraderReflection { /// <summary> /// 获取升级包数据。通过.NET反射,调用升级程序的方法 /// </summary> /// <returns></returns> public static int GetPackages() { try { //获取本地最新升级包的版本号 VersionHistory v = VersionHistory.GetVersionHistory(); string newVersion = v == null ? "" : v.CurrentVersionID; //价值升级程序的程序集 string file = Path.Combine(Application.StartupPath, "CSFramework.AutoUpgrader.exe"); byte[] bs = File.ReadAllBytes(file); Assembly asm = Assembly.Load(bs); //获取一个程序类型 Type T = asm.GetType("CSFramework.AutoUpgrader.UpgraderController"); object o = Activator.CreateInstance(T); //反射一个方法 MethodInfo mi = T.GetMethod("GetUpgraderPackages"); object i = mi.Invoke(o, new object[] { "E81FFE4E-D0C5-430B-A558-9ECFC0F2FF0D", newVersion }); if (i == null) return 0; else return Convert.ToInt32(i); } catch (Exception ex) { //Common.Msg.Warning("反射升级程序的GetPackages方法错误!\r\n" + ex.Message); return 0; } } } //来源:C/S框架网 | www.csframework.com | QQ:23404761 扫一扫加微信
参考文档:
C/S开发框架标准版有版本自动升级功能吗? C/S框架V2.0版集成高级查询功能 基于C#.NET C/S快速开发框架 - 代码自动生成功能 C/S框架后台数据更新模型之ORM自动生成SQL基本原理 关于扩展权限、扩展功能按钮及自定义功能点的命名|C/S框架网 C# Winform 开发平台新功能 - C/S系统开发框架旗舰版V5.0 开发技巧-Winform窗体自动生成下一个业务流程的单据|C/S框架网 C#程序升级框架-软件版本自动升级系统|C/S框架网 C/S自动升级软件之下载升级包策略设计|C/S框架网 软件自动升级程序之执行dos命令和自运行程序的升级包|C/S框架网 Winform界面的功能按钮同等权限控制|C/S框架网 CSFramework代码生成器自动生成主从表界面-C/S框架网 Winform自动升级框架源码(C#.NET)-C/S框架网 C/S框架主程序调用版本自动升级程序(CSFrameworkV5.AutoUpgrader)VersionCheckNEW类 C/S开发框架新功能:批量更新业务单据的业务员、制单人制表人
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |