局域网在线更新的各种优化二

本文详细探讨了局域网内应用程序在线更新的多种优化方案,包括处理app.config和web.config等配置文件的更新策略,如标记替换、视为只读文件以及保留旧版文件供比对。同时,介绍了发布程序的优化,确保不同开发人员能快速定位本地实际目录,并针对特殊情况进行处理,如多配置发布和程序重命名的需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上章描述了总体的操作,本章继续细化:

一:在线更新

    如果能把文件列表里的文件全部替换是最好的选择。

    但现实是:app.config ,web.config 这类数据经常是在布署后还要手工改动。把它替换了就得重配一次。

    如果把它从更新列表里移除?也不行,第一次配置人员不可能全敲一遍。

    只新增不覆盖?当加了新的配置项时,配置人员也得敲一遍。

    方案一:在配置文件作出标记,指明哪些是不可覆盖的。。这样更新程序就把这一块取出,替换掉原文件里的标记块,再保存。

                   缺点是时间长了加上交接,这种标记可能就被忘却了。

    方案二:把app.config直接视为只读文件,客户端程序弹出设置界面,如果有不同于app.config的配置,存到另一个文件里。

                  优点很明显,使用时大家都轻松。

                  缺点是要加相当的代码。

    方案三:如果配置文件已经存在,就不覆盖了,换个名称保存。比如web.config.old, 配置人员自行比对,

                 看起来是不错的选择,毕竟配置文件就是让人改的。


二:发布程序

   1:首先定义结构体:

    public class ProgramList
    {
        public string appName { get; set; }//程序关键字
        public string appNameCn { get; set; }//程序中文名
        public string appDownPath { get; set; }//布署的目录。用于下载。
        public string vssRelativePath { get; set; }//相对于vss根目录的路径。用于发布。
        public string version { get; set; }//版本号。
    }

   1:程序在bin/debug目录直接运行时,可以根据bin/debug目录所在向上找到vss的根目录。

         再然后叠加上上述的vssRelativePath,就可以得到本地的实际目录。

         这样的优点是即使程序员的vss布署目录都不一样,一运行都可自动定位到正确的地方,条件是程序员自己的目录树结构要与VSS一致。

   2:上述要求程序员下载源代码编译运行,但是并不是所有人都愿意这样干,很多人只是想直接运行。

         所以发布程序优化为:如果发现本程序不在debug目录下,就提示程序员给出本地vss的根目录。

三:各种特殊情况:

   1:现在有这种情况,一个程序有不同的配置。要发布几份,有的甚至只是改一个参数。怎么发布?

   2:第二种情况,把程序名改了,原因是为了方便监控!!!变更作为在线更新的关键字(即程序名)实在不值得鼓励。

         如果要支持的话,可以支持脚本,支持更新程序进行重命名?


        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值