我的c#程序无法从网站获取最新的XML文件内容

本文关键字:最新 XML 文件 获取 网站 程序 我的 | 更新日期: 2023-09-27 17:53:58

基本上在这段代码中,我检查xyz(dotcom)/update.xml是否有新版本可用,如果新版本可用,它将从网站下载。它是第一次工作,现在每次我检查更新,它直接发送到"应用程序是最新的"代码,尽管有一个新的版本在xml文件中可用,我相信我的程序没有得到新的更新的xml文件从链接,可能是什么问题?请检查下面的代码。****如果你需要更多的信息,请告诉我。

public void checkForUpdate()
{    
        string download_url = "";
        Version newVersion = null;
        string xmlurl = "http://xyz.(dotcom)/update.xml";
        try
        {
            XmlTextReader reader = new XmlTextReader(xmlurl);
            reader.MoveToContent();
            string elementname = "";
            if ((reader.NodeType == XmlNodeType.Element) && (reader.Name == "XYZ"))
            {
                while (reader.Read())
                {
                    if (reader.NodeType == XmlNodeType.Element)
                    {
                        elementname = reader.Name;
                    }
                    else
                    {
                        if ((reader.NodeType == XmlNodeType.Text) && (reader.HasValue))
                        {
                            switch (elementname)
                            {
                                case "version":
                                    newVersion = new Version(reader.Value);
                                    break;
                                case "url":
                                    download_url = reader.Value;
                                    break;
                            }
                        }
                    }
                }
            }
        }
        catch (Exception ex) { MessageBox.Show(ex.Message.ToString(), "Exception", MessageBoxButtons.OK, MessageBoxIcon.Warning); }
        finally
        {
            if (reader != null)
            {
                reader.Close();
            }
            Version Applicationversion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
            if (Applicationversion.CompareTo(newVersion) < 0)
            {
                DialogResult dialogresult = (MessageBox.Show("New Version: " + newVersion + " is available to download, would you like to download now?", "New Version Available", MessageBoxButtons.YesNo, MessageBoxIcon.Information));
                {
                    if (dialogresult == DialogResult.Yes)
                    {
                        //System.Diagnostics.Process.Start(link);
                        Download dw = new Download();
                        dw.ShowDialog();
                    }
                    else if (dialogresult == DialogResult.No)
                    {
                    }
                }
            }
            else
            {
                MessageBox.Show("Your application is up-to-date!", "Up-to-Date!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
    }
}

我的c#程序无法从网站获取最新的XML文件内容

这个修复了这个问题。

XmlTextReader reader = new XmlTextReader(xmlurl + "?" + Guid.NewGuid().ToString());

在网上找到的,请解释一下,这是怎么回事?

和finally块不正确,应该是

 finally
            {
                if (reader != null)
                {
                    reader.Close();
                }
            }