diff --git a/Netch/Controllers/HTTPController.cs b/Netch/Controllers/HTTPController.cs index bce820ae..72ac8499 100644 --- a/Netch/Controllers/HTTPController.cs +++ b/Netch/Controllers/HTTPController.cs @@ -102,32 +102,36 @@ namespace Netch.Controllers { var tasks = new[] { - Task.Factory.StartNew(pPrivoxyController.Stop), - Task.Factory.StartNew(() => + Task.Run(pPrivoxyController.Stop), + Task.Run(() => { - PACServerHandle.Stop(); - if (prevEnabled) + using var service = new ProxyService(); + try { - if (prevHTTP != "") + PACServerHandle.Stop(); + if (prevEnabled) { - using var service = new ProxyService + if (prevHTTP != "") { - Server = prevHTTP, - Bypass = prevBypass - }; - service.Global(); + service.Server = prevHTTP; + service.Bypass = prevBypass; + service.Global(); + } + if (prevPAC != "") + { + service.AutoConfigUrl = prevPAC; + service.Pac(); + } } - if (prevPAC != "") + else { - using var service = new ProxyService - { - AutoConfigUrl = prevPAC - }; - service.Pac(); + service.Direct(); } } - else - new ProxyService().Direct(); + catch (Exception e) + { + Logging.Error($"{Name} 控制器出错:\n" + e); + } }) }; Task.WaitAll(tasks); diff --git a/Netch/Controllers/TUNTAPController.cs b/Netch/Controllers/TUNTAPController.cs index ba723d62..135b812f 100644 --- a/Netch/Controllers/TUNTAPController.cs +++ b/Netch/Controllers/TUNTAPController.cs @@ -119,9 +119,9 @@ namespace Netch.Controllers { var tasks = new[] { - Task.Factory.StartNew(StopInstance), - Task.Factory.StartNew(ClearRouteTable), - Task.Factory.StartNew(DNSController.Stop) + Task.Run(StopInstance), + Task.Run(ClearRouteTable), + Task.Run(DNSController.Stop) }; Task.WaitAll(tasks); } diff --git a/binaries b/binaries index 36742591..859ff7b1 160000 --- a/binaries +++ b/binaries @@ -1 +1 @@ -Subproject commit 36742591aef7bc228dd2f159096d71ce6167cf73 +Subproject commit 859ff7b19c80cabf278980aeb13b401cb7bc981b