C#如何实现软件的自动更新
原来用过socket实现过,通过共享文件夹的方式来实现拷贝的。感觉这个方法可靠性不高。想让大虾们教教我webservice 如何来通信 或者 wcf也行 最好俩个都有。在网上看到的只有客户端请求的程序,想知道怎么弄自己的服务端,有自己的服务器,不知道怎么弄。求教。 c# webservice wcf socket 服务器
[解决办法]
1. 直接挂一个http网站,然后更新文件都在上面,有xml啥的记录版本;
2. 给程序加一个shell,shell是不变的,所以你现在看到qq啥的都是platform,每次先启动shell访问网站,看看有没有新版本,有的话就更新本地文件;
3. http方便一些,web service的没有弄过,可以试试。
[解决办法]
比较服务器文件和本地文具hash码,如果不一样,则下载下来覆盖本地的
如果当前程序正在运行,需要提示用户退出主程序才能更新
给你一个下载文件类(你根据需要下载的文件列表做成多线程)
using System;
using System.Net;
namespace AutoUpdate
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
public class clsDownLoad2
{
public clsDownLoad2()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
public bool DownLoad(string strRemoteFile, string strLocalFile)
{
WebClient wc = null;
try
{
wc = new WebClient();
wc.DownloadFile(strRemoteFile, strLocalFile);
}
catch
{
return false;
}
finally
{
if(wc!=null)
{
wc.Dispose();
wc = null;
}
}
return true;
}
}
}