论坛登陆 注册 教程 笑话 影视 投稿
首页 | 页界资讯 | 网络应用 | 软件应用 | 组网技术 | 网络原理 | 聊天通讯 | 网管知识 | 帮助
笑话 | 操作系统 | 注 册 表 | 编程开发 | 数 据 库 | 媒体动画 | 网页设计 | 图形图象 | 地图
论坛 | 网络安全 | 安全防范 | 服 务 器 | 硬件学堂 | 路由技术 | 搜索研究 | 站长经验 | 投稿
影院 | 教育频道 | 特色专题 | 精文荟萃 | 注 册 码 | 论坛社区 | 网站地图 | 广告服务 | 旧版
设为首页 加入收藏
当前位置:首页>>文章>>编程开发>>net专区>>正文

实现.NET应用程序的自动更新

www.xker.com 作者:李嘉 来源:CSDN开发高手 加入日期:2006-3-21 10:07:35

【问题提问、论坛交流】 应用程序更新的方法一般有两种:一是通知用户(比如发E-mail),让用户到指定的网站地址下载更新的程序;二是将更新的职责从用户那边转移到应用程序自身,由应用程序自身取代用户获取并安装一个软件的更新,客户端应用程序自身负责从一个已知服务器下载并安装更新,用户唯一需要进行干预的是决定是否愿意现在或以后安装新的更新显然,后者比前者更友好你现在可以看到类似后一种方法的实际产品,比如Windows XP和Microsoft Money本文所介绍的.NET应用程序更新组件就可以提供类似的功能

  一、.NET应用程序更新组件介绍

  .NET 应用程序更新组件AppUpdater 是使用.NET框架开发的尽管AppUpdater 不是微软的产品,但是只要你在VS.NET工具栏中添加了该组件,就可以象使用其它组件一样通过拖拽的方式将该组件从工具栏中拖放到你的应用程序中,并设置一些属性(比如获取更新的位置、频率等)之后就可以使得你的客户端应用程序具备自动更新的功能

  二、工作原理

  要深入理解.NET客户端应用程序更新组件的工作原理,需要仔细研究一下实现客户端应用程序更新有那些必须要做的事情第一步需要做的是检查是否有更新;当发现有更新时,开始第二步工作——下载更新;当更新下载完成时,进行是最后一步的工作——实现更新

  (一) 为更新做检查

  作为开发者,首先你得告诉应用程序到什么地方去做更新检查,否则它岂不是要大海捞针?其次,确定何时做更新检查不可能用户每次一运行客户端程序,而它就在后台不停的进行更新检查,那多浪费资源!最后还有一项重要的事情需要解决,那就是如何进行更新检查.NET应用程序更新组件使用HTTP进行通讯,这就允许客户端应用程序穿透防火墙来进行更新并且进行更新检查所需要的地址就成了已知的Web服务器的一个URL地址,第一个问题顺利解决

  .NET应用程序更新组件在组件生成的基础上产生一个线程,该线程负责进行更新检查该线程在大多数时间处于休眠状态,但会在设置好的间隔苏醒并实现一次更新检查应用程序为新的更新所做的检查的频率依赖于各应用自身进行更新检查的间隔常用值的范围一般是从一个小时到几天这种轮询的基本方法并不适合于所有情况比如Microsoft Money只是在用户让它去进行更新检查时它才去检查在这种情况下,更新轮询线程可被禁用

  通过用命令调用更新组件的CheckForUpdate()方法来实现更新检查

  关于如何进行更新检查的方法有这样几种:

  方法一:直接文件检查——使用HTTP来比较服务器和客户端应用程序的最后的修改日期/时间戳是否一致如果服务器上有更新的文件,客户端就知道可以更新自己了对于Web浏览器来讲,也是同样的道理,它知道是否需要重新下载一个html页面或图片或是否可以
重复使用先前已下载的当应用程序有一个新的版本可用时,管理员简单地拷贝一个更新的版本来覆盖Web服务器上的旧版本这种方法的问题在于更新不是自动进行,由此会出现潜在的失败可能比如,如果管理员正在更新Web服务器上的应用程序版本,同时有个客户正在下载更新之前的版本,那么这个客户的计算机上就会既存在更新之前的一些文件,也存在更新之后新版本的一些文件基于上述原因,对于重要的应用程序不提倡使用直接文件检查来更新

  方法二:显式检查——在服务器上使用一个显式的配置文件一个可和.NET应用程序更新组件使用的有效服务器显式文件大致是这个样子:..

<VersionConfig>
<AvailableVersion>1.0.0.0</AvailableVersion>
<ApplicationUrl>http://localhost/demos/selfupdate/V1/</
ApplicationUrl>
</VersionConfig>

  AvailableVersion指定最新的可用程序集的版本号ApplicationURL属性指定该版本应用程序所在的URL地址当管理员想要更新客户端应用程序时,他们就会将应用程序的新版本拷贝到Web服务器上并且适当地修改服务器显式文件客户端自身会探测到服务器显式文件已被修改,然后下载显式文件客户端随后比较显式文件中指定的程序集版本号与应用程序EXE文件的版本号如果服务器显式文件中的可用版本号较新,应用程序就知道需要更新了这种方法对大多数应用程序而言是推荐使用的方法

本新闻共7页,当前在第1页  1  2  3  4  5  6  7  

编辑:xker.com

上一篇:ASP.NET调用oracle实现快速分页
下一篇:没有了
关闭窗口】【技术交流】【收藏此页
相关文章
·ASP.NET调用oracle实现快速分页·ASP.NET中实现大结果集分页研讨·ASP.NET1.0升级ASP.NET2.0的问题总结
·Asp.Net细节性问题回答精萃·AJAX.NET用户开发指南·Ajax.Net快速入门
·十天学会ASP.net之第二天·10天学会ASP.net之第一天·在.NET开发中灵活使用TreeView控件
·ASP.NET页面间的传值的几种方法·ASP.NET:掌握Web窗体的生命周期与状态·VB.net制作下雪的特技景象
·ASP.NET入门随想之多态、接口与委托·AJAX+ASP.NET解决网页打开等待问题·关于ASP,ASP.NET,VB.NET里的MD5加密函
推荐文章 最新文章 热门文章
·黑客也在乎安全:谈黑客避开检测的手
·内网安全技术十大策略 打造坚固的内网
·优化MySQL数据库性能的八大“妙手”
·给系统减肥 卸载Windows中的集成组件
·MySQL数据库中mysqldump命令使用详解
·SqlServer存储过程/函数加/解密
·CSS属性中Display与Visibility的不同
·网管实战 远程管理让服务发布遭遇意外
·骗你不商量的系统优化秘籍
·教您30分钟打造Linux的VPN服务器
·Windows IIS WEB服务器配置安全规范(
·网管手册 70例网络故障排除方法(上)
·ASP.NET中实现大结果集分页研讨
·java写的查找重复电话号码程序
·ASP.NET1.0升级ASP.NET2.0的问题总结
·实现.NET应用程序的自动更新
·如何选择适合自己的网站空间?
·新手购买网站空间指南
·Office办公软件中存在高危安全漏洞
·系统运行时间轻松查
·案例学习:Oracle的还原
·超级个性化!看我的MSN space有多酷
·各位当心!HTML文件也能格式化硬盘
·打造个性化QQ群公告
·黑客也在乎安全:谈黑客避开检测的手
·用CSS控制网站总“队形”
·MSN个人空间使用技巧
·J2EE面试题集锦(附答案)
·VC程序员之无法选择的命运
·Java异常处理的陋习展播
·个人简历表格
·免费代理IP(每日更新)
·QQ收费头像免费使用的方法 
·QQ密码丢失后能做的事情:快速找回密码
·Norton AntiVirus 2006 注册码(激活
·系统优化 专题
·豪杰超级解霸V9.1正版注册码
·WinRAR 3.51 注册码
·找回QQ密码的注意事项 
·史上最强QQ个人档案资料欣赏
·Ajax技术开发指南
·最经典的黑客入门教材
·求职简历封皮
·ACDSee v8.0注册码
·应届毕业生求职信
评论

设为首页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyright © 2003-2006 xker.com All rights reserved.小新技术网 合作广告QQ:12231446
本页浏览次数: