Переглянути джерело

减少不必要的hosts文件写入

老九 3 роки тому
батько
коміт
bd56241d54
1 змінених файлів з 7 додано та 2 видалено
  1. 7 2
      FastGithub.Dns/HostsConflictSolver.cs

+ 7 - 2
FastGithub.Dns/HostsConflictSolver.cs

@@ -39,12 +39,14 @@ namespace FastGithub.Dns
                 return;
                 return;
             }
             }
 
 
+            var hasConflicting = false;
             var hostsBuilder = new StringBuilder();
             var hostsBuilder = new StringBuilder();
             var lines = await File.ReadAllLinesAsync(hostsPath, cancellationToken);
             var lines = await File.ReadAllLinesAsync(hostsPath, cancellationToken);
             foreach (var line in lines)
             foreach (var line in lines)
             {
             {
                 if (this.IsConflictingLine(line))
                 if (this.IsConflictingLine(line))
                 {
                 {
+                    hasConflicting = true;
                     hostsBuilder.AppendLine($"# {line}");
                     hostsBuilder.AppendLine($"# {line}");
                 }
                 }
                 else
                 else
@@ -53,8 +55,11 @@ namespace FastGithub.Dns
                 }
                 }
             }
             }
 
 
-            File.SetAttributes(hostsPath, FileAttributes.Normal);
-            await File.WriteAllTextAsync(hostsPath, hostsBuilder.ToString(), cancellationToken);
+            if (hasConflicting == true)
+            {
+                File.SetAttributes(hostsPath, FileAttributes.Normal);
+                await File.WriteAllTextAsync(hostsPath, hostsBuilder.ToString(), cancellationToken);
+            }
         }
         }
 
 
         /// <summary>
         /// <summary>