Correct and optimize the code

This commit is contained in:
racpast 2025-01-13 04:17:27 +08:00
parent 8a81ba59dc
commit c43bc49feb

View File

@ -204,6 +204,8 @@ public partial class MainWin : Window
{ {
HoldButtonTimer?.Stop(); HoldButtonTimer?.Stop();
NginxConfWatcher_Changed(null!, null!);
if (!MainPres.IsConginxRunning && !MainPres.IsNginxRunning) if (!MainPres.IsConginxRunning && !MainPres.IsNginxRunning)
{ {
if (NginxCleaner.IsNginxCleaningSemaphore.CurrentCount == 0 || !await IsNginxLaunchingSemaphore.WaitAsync(0)) if (NginxCleaner.IsNginxCleaningSemaphore.CurrentCount == 0 || !await IsNginxLaunchingSemaphore.WaitAsync(0))
@ -772,13 +774,9 @@ public partial class MainWin : Window
NginxHttpPort = 80; NginxHttpPort = 80;
NginxHttpsPort = 443; NginxHttpsPort = 443;
foreach (IPEndPoint activeTcpListener in IPGlobalProperties.GetIPGlobalProperties().GetActiveTcpListeners()) HashSet<int> activePorts = new(IPGlobalProperties.GetIPGlobalProperties().GetActiveTcpListeners().Select(listener => listener.Port));
if (activeTcpListener.Port == NginxHttpPort) while (activePorts.Contains(NginxHttpPort)) NginxHttpPort++;
NginxHttpPort++; while (activePorts.Contains(NginxHttpsPort)) NginxHttpsPort++;
else if (activeTcpListener.Port == NginxHttpsPort)
NginxHttpsPort++;
else if (activeTcpListener.Port > NginxHttpsPort)
break;
await using FileStream nginxConfStream = new(MainConst.NginxConfPath, FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete); await using FileStream nginxConfStream = new(MainConst.NginxConfPath, FileMode.OpenOrCreate, FileAccess.Read, FileShare.ReadWrite | FileShare.Delete);
NginxConfig extraNginxConfig = NginxConfig.Load(ExtraNginxConfs = new StreamReader(nginxConfStream).ReadToEnd()); NginxConfig extraNginxConfig = NginxConfig.Load(ExtraNginxConfs = new StreamReader(nginxConfStream).ReadToEnd());