⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 service.cs

📁 delphi 开发的自动升级源码
💻 CS
字号:
using System;
using System.IO;
using System.Web;
using System.Xml;
using System.Web.Services;
using System.Web.Services.Protocols;

//[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[WebServiceBinding(Namespace="http://XMLChina.net")]
public class Service : System.Web.Services.WebService
{
    public Service () {

        //如果使用设计的组件,请取消注释以下行 
        //InitializeComponent(); 
    }
    [WebMethod(Description = "取得更新版本")]
    public string GetVer()
    {
        XmlDocument doc = new XmlDocument();
        doc.Load(Server.MapPath("update.xml"));
        XmlElement root = doc.DocumentElement;
        return root.SelectSingleNode("version").InnerText;
    }
    [WebMethod(Description = "在线更新软件")]
    public XmlDocument GetUpdateData()
    {        
        //取得更新的xml模板内容 
        XmlDocument doc = new XmlDocument();
        doc.Load(Server.MapPath("update.xml"));
        XmlElement root = doc.DocumentElement;
        //看看有几个文件需要更新 
        XmlNode updateNode = root.SelectSingleNode("filelist");
        string path = updateNode.Attributes["sourcepath"].Value;
        int count = int.Parse(updateNode.Attributes["count"].Value);
        //将xml中的value用实际内容替换 
        for (int i = 0; i < count; i++)
        {
            XmlNode itemNode = updateNode.ChildNodes[i];
            string fileName = path + itemNode.Attributes["name"].Value;
            FileStream fs = File.OpenRead(Server.MapPath(fileName));
            itemNode.Attributes["size"].Value = fs.Length.ToString();
            BinaryReader br = new BinaryReader(fs);
            //这里是文件的实际内容,使用了Base64String编码 
            itemNode.SelectSingleNode("value").InnerText = Convert.ToBase64String(br.ReadBytes((int)fs.Length), 0, (int)fs.Length);
            br.Close();
            fs.Close();
        }
        return doc;
    } 

    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -