日期:2014-05-17  浏览次数:20464 次

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

------解决方案--------------------
强帖留名,沙发抢走!
------解决方案--------------------
不错,支持
------解决方案--------------------
帮顶,接分
------解决方案--------------------
不错帮顶
------解决方案--------------------
关注
------解决方案--------------------
学习
------解决方案--------------------
关注
------解决方案--------------------
好东西,收藏研究
------解决方案--------------------
强悍
------解决方案--------------------
不错,收藏了
------解决方案--------------------
学习下!
------解决方案--------------------
学习了,多谢。
------解决方案--------------------