private async Task <UpdateController.VersionInfo> GetVersionFromServerAsync() { UpdateController.VersionInfo versionInfo; try { HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(Settings.Default.VersionCheckUrl); httpWebRequest.Timeout = 10000; using (HttpWebResponse responseAsync = (HttpWebResponse)await httpWebRequest.GetResponseAsync()) { string end = (new StreamReader(responseAsync.GetResponseStream())).ReadToEnd(); Settings.Default.LastVersionInfo = end; Settings.Default.LastVersionCheck = DateTime.Today; Settings.Default.Save(); versionInfo = JsonConvert.DeserializeObject <UpdateController.VersionInfo>(end); } } catch { UpdateController.VersionInfo versionInfo1 = new UpdateController.VersionInfo() { Version = "1.0.0.0", Force = false, Url = string.Empty }; versionInfo = versionInfo1; } return(versionInfo); }
public async Task CheckForUpdateAsync() { UpdateController.VersionInfo versionFromServerAsync; Version version; if (this.IsUpdateCheckRequired()) { versionFromServerAsync = await this.GetVersionFromServerAsync(); } else { versionFromServerAsync = this.GetCachedVersion(); } UpdateController.VersionInfo versionInfo = versionFromServerAsync; Version.TryParse(versionInfo.Version, out version); Version version1 = Assembly.GetExecutingAssembly().GetName().Version; this.UpdateFound = version > version1; this.ForceUpdate = version.Minor > version1.Minor; this.UpdateUrl = versionInfo.Url; }