模拟软件升级器的功能
引言:
今天看了博客园一位博友“菜菜灰”写的博文:《关于软件多版本升级的一些思考》,有感而发,虽然是做Web应用,在线升级版本的功能还是很必要。
上午花费了2个小时写了一个“模拟软件在线升级的类”,希望对博友“菜菜灰”有点帮助。
软件类:
/// <summary>/// 软件类/// </summary>public class Soft{private string v = "1.0";private IList<string> vl = new List<string>() { "1.0", "2.0", "3.0", "4.0" };/// <summary>/// 当前版本/// </summary>public string Version{get{return this.v;}set{this.v = value;}}/// <summary>/// 版本列表/// </summary>public IList<string> VersionList{get{return this.vl;}set{this.vl = value;}}}
软件升级器:
/// <summary>/// 软件升级器/// </summary>public class SoftUpdater{public Soft soft = new Soft();/// <summary>/// 更新版本/// </summary>/// <returns></returns>public bool Update(){// 当前版本string ver1 = soft.Version;// 目标版本string ver2 = (soft.VersionList.IndexOf(ver1) == soft.VersionList.Count - 1) ? ver1 : soft.VersionList[soft.VersionList.IndexOf(ver1) + 1];return this.Update(ver1, ver2);}/// <summary>/// 更新版本/// </summary>/// <param name="ver1">当前版本</param>/// <param name="ver2">目标版本</param>/// <returns></returns>public bool Update(string ver1, string ver2){if (ver1.Equals(ver2)){HttpContext.Current.Response.Write("已经是最新版本");HttpContext.Current.Response.Write("<br />");}else{HttpContext.Current.Response.Write(string.Format("{0} 升级到 {1}", ver1, ver2));HttpContext.Current.Response.Write("<br />");string ver3 = ver2;string ver4 = (soft.VersionList.IndexOf(ver3) == soft.VersionList.Count - 1) ? ver3 : soft.VersionList[soft.VersionList.IndexOf(ver3) + 1];return this.Update(ver3, ver4);}return true;}}
输出结果:
安布雷拉 标签: 在线升级
Tag 模拟软件升级器的功能
推荐.NET配套的通用数据层ORM框架:CYQ.Data 通用数据层框架
