C#程序启动时,连接到指定的服务器判断是否更新
C#制作的WinForm程序启动时,判断是否能够连接到指定的服务器,判断系统及使用的组件等是否需要更新,怎么实现呢?
------解决方案--------------------通过判断服务器上的文件的MD5值看看能不能达到要求?
------解决方案--------------------那你就把文件的MD5 值也加到XML中去,运行程序时读取服务器上的XML,然后解析,判断本地的文件是否和服务器上的的文件的MD5值相等,如果不相等就下载
------解决方案--------------------顶顶你
------解决方案--------------------"clickonce"~~~自己看下msdn中相关内容,检查和更新都会由.net帮你干掉
------解决方案--------------------在客户端的配置文件中设置一个版本信息,程序运行时,比较这个版本是否与服务器的版本一致,不一致则进行更新。
------解决方案--------------------
------解决方案--------------------
一直想做一个在线自动升级的工具,可是由于项目一个接一个都比较忙,自己想的大概思路是,每次客户端启动时,都去检索服务端的每个文件是否和本地的版本一样,如果不一样则更新,否则直接启动真正的客户段程序。如果整个系统文件不是很多(以千计),网速不是很慢(小于30kb)的话,还是可以的
------解决方案--------------------
SmartClient...去看MSDN...
------解决方案--------------------本机的文件和服务器的文件做对比,如果不一样就从服务器端下载更新本机文件。
------解决方案--------------------做个配置信息,当一连到服务器时就来个判断是否需要更新
------解决方案--------------------
还是用SmartClient比较好
------解决方案--------------------
clickOne 、Bits 都可办到
------解决方案--------------------
bits 可以做,像自动更新一样,一旦系统带宽允许就去检查下载更新。
自己做,提供如下思路:
1.服务端需有一个收集程序组件文件信息的服务(简称:AppService),每次发生更新时,检查组件的更新情况并缓存。
2.编写一个专门负责客户端更新的组件。该组件为程序的入口。每次启动程序,会先检查AppService是否正常。如正常,将客户端组件版本信息发送给AppService,由AppService对比缓存的组件最新版本信息,确定该请求客户端的更新包。AppSerivce提供更新包的生成。完成更新后,负责更新模块在按照配置信息加载真正的客户端程序入口组件。
ps:对于负责客户端更新组件的自身更新需特殊处理。