AspNetAutoUpdate1.0----.Net B/S项目远程自动更新通用程序,非常有用的工具,VS2005下测试通过,附源码
开发bs项目,能否做到跟cs项目一样可以通过网络在线更新呢?答案是肯定的,方法也是多种多样的!
最近由于项目比较多,需要更新的范围也比较大,实施起来比较麻烦,所以干脆写了一套可以远程更新的程序,主要就是通过WebService,提供远程文件下载和更新。
源码下载地址:http://download.csdn.net/source/1897460
通常将各个地区需要更新的文件放在webservice服务器目录下不同子文件夹里,做到各个地区程序的独立更新,同时简单记录一些更新信息,如哪个ip在什么时间更新过程序等。
以下是实现流程:
第一步,配置webservice服务程序 :
下载源码包,找到项目UpdateSiteService ,将其单独复制到webservice服务器(当然可以与你项目在同一台服务器),
然后配置虚拟目录,成功后运行如下路径:
http://localhost/AutoUpdate/UpdateService.asmx 即可看到webservice所提供的方法接口。
地址”localhost“表示当前机器所在ip,这个应该不用多说了。
在UpdateSiteService 根目录创建子文件夹,文件夹名称与下面web.config中AutoUpdateRegionCode的值相同如340100,表示是哪个地区需要更新的文件夹,名称可以自己写。
在此文件夹里创建2个文本文件,分别为:
version.txt 记录最新版本号 如1.0.0.1,此文件必须创建
description.txt 记录最新版本说明,此文件可以不创建
最后把需要更新的文件都放到此文件夹里即可,注意文件的位置和目录结构需要跟原项目结构相同
第二步,配置web项目web.config:
XML code
<appSettings>
<!--程序所在行政区划-->
<add key="AutoUpdateRegionCode" value="340100"/>
<!--备份文件夹路径-->
<add key="AutoUpdateBackPath" value="E:\VssBackUp\"/>
<!--更新程序服务地址-->
<add key="AutoUpdateUrl" value="http://localhost/AutoUpdate/UpdateService.asmx"/>
</appSettings>
第三步,在web页面注册AutoUpdateControl 控件:
AutoUpdateControl 控件源码在项目”AutoUpdate“中。
注册控件如:
HTML code
<%@ Register Namespace="AutoUpdate" TagPrefix="cc" Assembly="AutoUpdate"%>
<cc:AutoUpdateControl ID="cc1" runat="server" Font-Size="12px"></cc:AutoUpdateControl>
页面运行后效果:
点”更新程序文件“按钮提示:
点”确定“开始更新:
显示进度信息:
更新完毕后点”确定“或”X“按钮返回界面:
如果想做成和软件一样,不出现更新界面 则,可以设置控件的<UpdateInfo IsAutoUpdate="True" 。。。/>
则默认页面加载后自动连接远程服务器,检测是否需要更新:
点确定即可:
本程序尚存在一些问题,喜欢钻研的朋友可以自己查看源码,将程序扩展做得更强大!
由于时间匆忙,自我感觉代码的确有些粗糙,这也是我放出源码的原因!希望大家批评指正!
有不懂的问题可以联系我QQ:410329177,添加时输入”AutoUpdate或AjaxPager“字样。
源码下载地址:http://download.csdn.net/source/1897460
------解决方案--------------------强帖留名,沙发抢走!
------解决方案--------------------不错,支持
------解决方案--------------------帮顶,接分
------解决方案--------------------不错帮顶
------解决方案--------------------关注
------解决方案--------------------学习
------解决方案--------------------关注
------解决方案--------------------好东西,收藏研究
------解决方案--------------------强悍
------解决方案--------------------不错,收藏了
------解决方案--------------------学习下!
------解决方案--------------------学习了,多谢。
------解决方案--------------------