-
大小: 796KB文件类型: .zip金币: 1下载: 0 次发布日期: 2021-05-04
- 语言: C#
- 标签: webservice 服务器端 自动升级 C#
资源简介
实现的通过webservice 获取服务器端 程序实现 系统自动升级
代码片段和文件信息
using System;
using System.Web;
using System.IO;
using System.Net;
using System.xml;
using System.Collections;
using System.Windows.Forms;
using System.ComponentModel;
namespace AutoUpdate
{
///
/// updater 的摘要说明。
///
public class AppUpdater:IDisposable
{
#region 成员与字段属性
private string _updaterUrl;
private bool disposed = false;
private IntPtr handle;
private Component component = new Component();
[System.Runtime.InteropServices.DllImport(“Kernel32“)]
private extern static Boolean CloseHandle(IntPtr handle);
public string UpdaterUrl
{
set{_updaterUrl = value;}
get{return this._updaterUrl;}
}
#endregion
///
/// AppUpdater构造函数
///
public AppUpdater()
{
this.handle = handle;
}
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
private void Dispose(bool disposing)
{
if(!this.disposed)
{
if(disposing)
{
component.Dispose();
}
CloseHandle(handle);
handle = IntPtr.Zero;
}
disposed = true;
}
~AppUpdater()
{
Dispose(false);
}
///
/// 检查更新文件
///
/// lFile“>
/// lFile“>
///
///
public int CheckForUpdate(string serverxmlFilestring localxmlFileout Hashtable updateFileList)
{
updateFileList = new Hashtable();
if(!File.Exists(localxmlFile) || !File.Exists(serverxmlFile))
{
return -1;
}
xmlFiles serverxmlFiles = new xmlFiles(serverxmlFile);
xmlFiles localxmlFiles = new xmlFiles(localxmlFile);
xmlNodeList newNodeList = serverxmlFiles.GetNodeList(“AutoUpdater/Files“);
xmlNodeList oldNodeList = localxmlFiles.GetNodeList(“AutoUpdater/Files“);
int k = 0;
for(int i = 0;i < newNodeList.Count;i++)
{
string [] fileList = new string[3];
string newFileName = newNodeList.Item(i).Attributes[“Name“].Value.Trim();
string newVer = newNodeList.Item(i).Attributes[“Ver“].Value.Trim();
ArrayList oldFileAl = new ArrayList();
for(int j = 0;j < oldNodeList.Count;j++)
{
string oldFileName = oldNodeList.Item(j).Attributes[“Name“].Value.Trim();
string oldVer = oldNodeList.Item(j).Attributes[“Ver“].Value.Trim();
oldFileAl.Add(oldFileName);
oldFileAl.Add(oldVer);
}
int pos = oldFileAl.IndexOf(newFileName);
if(pos == -1)
{
fileList[0] = newFileName;
fileList[1] = newVer;
updateFileList.Add(kfileList);
k++;
}
else if(pos > -1 && newVer.CompareTo(oldFileAl[pos+1].ToString())>0 )
{
fileList[0] = newFileName;
fileList[1] = newVer;
updateFileList.Add(kfileList);
k++;
}
}
return k;
}
///
/// 检查更新文件
///
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-01-18 17:49 CsharpAutoUpdate\
目录 0 2016-01-18 15:25 CsharpAutoUpdate\Backup\
目录 0 2016-01-18 15:25 CsharpAutoUpdate\Backup\CsharpAutoUpdate\
文件 938 2011-05-10 22:34 CsharpAutoUpdate\Backup\CsharpAutoUpdate.sln
文件 18944 2011-05-10 23:30 CsharpAutoUpdate\Backup\CsharpAutoUpdate.suo
文件 5820 2011-05-10 23:11 CsharpAutoUpdate\Backup\CsharpAutoUpdate\AppUpdater.cs
文件 3843 2011-05-10 22:46 CsharpAutoUpdate\Backup\CsharpAutoUpdate\CsharpAutoUpdate.csproj
文件 9300 2011-05-10 23:30 CsharpAutoUpdate\Backup\CsharpAutoUpdate\FrmUpdate.cs
文件 14064 2011-05-10 22:54 CsharpAutoUpdate\Backup\CsharpAutoUpdate\FrmUpdate.Designer.cs
文件 109881 2011-05-10 22:54 CsharpAutoUpdate\Backup\CsharpAutoUpdate\FrmUpdate.resx
文件 501 2011-05-10 22:35 CsharpAutoUpdate\Backup\CsharpAutoUpdate\Program.cs
目录 0 2016-01-18 15:25 CsharpAutoUpdate\Backup\CsharpAutoUpdate\Properties\
文件 1388 2011-05-10 22:34 CsharpAutoUpdate\Backup\CsharpAutoUpdate\Properties\AssemblyInfo.cs
文件 2882 2011-05-10 22:34 CsharpAutoUpdate\Backup\CsharpAutoUpdate\Properties\Resources.Designer.cs
文件 5612 2011-05-10 22:34 CsharpAutoUpdate\Backup\CsharpAutoUpdate\Properties\Resources.resx
文件 1101 2011-05-10 22:34 CsharpAutoUpdate\Backup\CsharpAutoUpdate\Properties\Settings.Designer.cs
文件 249 2011-05-10 22:34 CsharpAutoUpdate\Backup\CsharpAutoUpdate\Properties\Settings.settings
文件 1303 2011-05-10 23:11 CsharpAutoUpdate\Backup\CsharpAutoUpdate\xm
目录 0 2011-05-10 23:30 CsharpAutoUpdate\CsharpAutoUpdate\
文件 938 2016-01-18 15:25 CsharpAutoUpdate\CsharpAutoUpdate.sln
文件 26112 2016-01-18 21:28 CsharpAutoUpdate\CsharpAutoUpdate.suo
文件 5816 2016-01-18 19:17 CsharpAutoUpdate\CsharpAutoUpdate\AppUpdater.cs
目录 0 2016-01-18 15:25 CsharpAutoUpdate\CsharpAutoUpdate\bin\
目录 0 2016-01-18 21:21 CsharpAutoUpdate\CsharpAutoUpdate\bin\Debug\
文件 18432 2016-01-18 19:24 CsharpAutoUpdate\CsharpAutoUpdate\bin\Debug\CsharpAutoUpdate.exe
文件 44544 2016-01-18 19:24 CsharpAutoUpdate\CsharpAutoUpdate\bin\Debug\CsharpAutoUpdate.pdb
文件 11608 2016-01-18 21:20 CsharpAutoUpdate\CsharpAutoUpdate\bin\Debug\CsharpAutoUpdate.vshost.exe
文件 490 2015-10-30 15:19 CsharpAutoUpdate\CsharpAutoUpdate\bin\Debug\CsharpAutoUpdate.vshost.exe.manifest
文件 626688 2016-01-18 21:16 CsharpAutoUpdate\CsharpAutoUpdate\bin\Debug\grproLib.dll
文件 2065 2016-01-18 19:05 CsharpAutoUpdate\CsharpAutoUpdate\bin\Debug\sscom.ini
文件 626688 2016-01-18 21:16 CsharpAutoUpdate\CsharpAutoUpdate\bin\Debug\sscom42.exe
............此处省略37个文件信息
相关资源
- C# 一个完整的客户端和服务器端
- TCP多个客户端与服务端数据传输源码
- asp.net 利用webservice,dataset创建火车票
- C#调用webservice查询实时天气
- 网站服务 调用天气webservices说明从网
- C#最简单最完整的webservice能打log,配
- c# 基于ftp文件 自动升级,调试通过
- C# TCP/IP 聊天系统服务器端
- 网络课程设计文件传输协议的简单实
- C#写的webservice服务端和调用端(完整
- C#调用WebService实现天气预报
- C#远程控制服务器端和客户端源代码
- C#自动升级程序
- c# socket 异步通信,一个服务器端和多
- C#调用WebService和开发wsdl
- C#实现自动升级程序含客户端和服务端
- 网络TCPServer转串口UART源码
- C#开发webservice接口,对客户端post服务
- Delphi调用Webservice一个完整的
- .net winform自动升级
- webservice 上传 asp.net界面
- Winform天气预报WebService根据IP地址自动
- C#获取实时天气预报
- C# winfrom中webservice接口连接服务器上传
- C#获取微信小程序openid等用户信息(前
- c#客户端与服务器端的开发经典案例
- C#断点续传包含客户端、服务器端代码
- c#WinForm程序自动升级源码
- C#实现udp打洞客户端与服务器端源码
- C#实现SOAP调用WebService
评论
共有 条评论