diff --git a/ElectronNET.Host/main.js b/ElectronNET.Host/main.js index 536aeef..e963e22 100644 --- a/ElectronNET.Host/main.js +++ b/ElectronNET.Host/main.js @@ -112,6 +112,7 @@ if (manifestJsonFile.singleInstance || manifestJsonFile.aspCoreBackendPort) { if (!mainInstance) { app.quit(); + return; } } @@ -139,6 +140,9 @@ app.on('ready', () => { let defaultElectronPort = 8000; if (manifestJsonFile.electronPort) { defaultElectronPort = (manifestJsonFile.electronPort) + if (defaultElectronPort == 'random') { + defaultElectronPort = Math.floor(Math.random() * 2000 + 8000); //Use random port to reduce risk of race conditions between when we find a free port here, and when the app locks on the port + } } // hostname needs to be localhost, otherwise Windows Firewall will be triggered. portscanner.findAPortNotInUse(defaultElectronPort, 65535, 'localhost', function (error, port) {