Ejemplo n.º 1
0
        private async Task <int> UpdateHosts(string uri, string path, string regex, bool fastStart)
        {
            // 获取远程HostsData
            string remoteHostsString = await Hosts.DownloadHostsStringAsync(uri);

            HostsData remoteData = Hosts.GetHostsData(remoteHostsString, _regexString);
            int       result     = 1;

            if (!fastStart)
            {
                // 获取本地HostsData
                string    localHostsString = File.ReadAllText(path);
                HostsData localData        = Hosts.GetHostsData(localHostsString, regex);
                result = remoteData.Equals(localData);
            }
            if (result is 1)
            {
                File.WriteAllText(path, remoteHostsString);
                Settings.Default.FastStart = _isFastStart = false;
                Settings.Default.Save();
            }
            return(result);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// 对比传入实例,并返回一个指示是早于、等于还是晚于传入实例的整数。
 /// </summary>
 /// <param name="other">传入的实例</param>
 /// <returns></returns>
 public int Equals(HostsData other)
 {
     return(DateTime.Compare(HostsTime, other.HostsTime));
 }