ServerManifest.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. using System;
  2. using System.IO;
  3. using System.Xml;
  4. namespace Microsoft.Samples.AppUpdater
  5. {
  6. public class ServerManifest
  7. {
  8. private XmlDocument _manifest;
  9. private string _url;
  10. private string _AvailableVersion;
  11. private string _ApplicationUrl;
  12. public string AvailableVersion
  13. {
  14. get
  15. {
  16. return _AvailableVersion;
  17. }
  18. set
  19. {
  20. _AvailableVersion = value;
  21. }
  22. }
  23. public string ApplicationUrl
  24. {
  25. get
  26. {
  27. return _ApplicationUrl;
  28. }
  29. set
  30. {
  31. _ApplicationUrl = value;
  32. }
  33. }
  34. public DateTime LastModTime => WebFileLoader.GetLastModTime(_url);
  35. public void Load(string url)
  36. {
  37. _url = url;
  38. string text = AppDomain.CurrentDomain.BaseDirectory + Path.GetFileName(new Uri(_url).LocalPath);
  39. WebFileLoader.UpdateFile(_url, text);
  40. _manifest = new XmlDocument();
  41. _manifest.Load(text);
  42. ApplicationUrl = _manifest.GetElementsByTagName("ApplicationUrl")[0].InnerText;
  43. ApplicationUrl = ApplicationUrl.Replace("[DownLoadURL]", url.Replace("/UpdateVersion.xml", ""));
  44. AvailableVersion = _manifest.GetElementsByTagName("AvailableVersion")[0].InnerText;
  45. }
  46. public bool IsServerVersionNewer(Version currentVersion)
  47. {
  48. Version v = new Version(AvailableVersion);
  49. if (v > currentVersion)
  50. {
  51. return true;
  52. }
  53. return false;
  54. }
  55. }
  56. }