diff --git a/CHANGELOG b/CHANGELOG index ef0aee7..5f72f57 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -5,6 +5,7 @@ * Add setting model to code * #19 grid automatisch generieren ### Bugfixes +* Add Correct Dispose Handling ### Changes * Refactoring of all JS * Make only one request per second instead of four per AJAX diff --git a/Lora-Map/Lora-Map.csproj b/Lora-Map/Lora-Map.csproj index c086843..4b6192c 100644 --- a/Lora-Map/Lora-Map.csproj +++ b/Lora-Map/Lora-Map.csproj @@ -53,6 +53,7 @@ + diff --git a/Lora-Map/Model/WeatherWarnings.cs b/Lora-Map/Model/WeatherWarnings.cs index 0dbc7dc..2956ce3 100644 --- a/Lora-Map/Model/WeatherWarnings.cs +++ b/Lora-Map/Model/WeatherWarnings.cs @@ -14,5 +14,8 @@ namespace Fraunhofer.Fit.IoT.LoraMap.Model { private void StartBackgroundThread() { } + + internal void Dispose() { + } } } diff --git a/Lora-Map/Program.cs b/Lora-Map/Program.cs index 648a4c6..c3cfb1d 100644 --- a/Lora-Map/Program.cs +++ b/Lora-Map/Program.cs @@ -9,22 +9,19 @@ namespace Fraunhofer.Fit.IoT.LoraMap { InIReader.SetSearchPath(new List() { "/etc/loramap", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\loramap" }); if (!InIReader.ConfigExist("settings")) { Helper.WriteError("settings.ini not found!"); - Console.ReadLine(); + _ = Console.ReadLine(); return; } if(!InIReader.ConfigExist("requests")) { Helper.WriteError("requests.ini not found!"); - Console.ReadLine(); + _ = Console.ReadLine(); return; } InIReader ini = InIReader.GetInstance("settings"); Dictionary backenddata = ini.GetSection("mqtt"); backenddata.Add("topic", "lora/#;camera/#"); ADataBackend b = (ADataBackend)ABackend.GetInstance(backenddata, ABackend.BackendType.Data); - new Server(b, ini.GetSection("webserver"), InIReader.GetInstance("requests")); - while(true) { - System.Threading.Thread.Sleep(1000); - } + _ = new Server(b, ini.GetSection("webserver"), InIReader.GetInstance("requests")); } } } diff --git a/Lora-Map/Server.cs b/Lora-Map/Server.cs index ef008b0..405ddf9 100644 --- a/Lora-Map/Server.cs +++ b/Lora-Map/Server.cs @@ -35,6 +35,8 @@ namespace Fraunhofer.Fit.IoT.LoraMap { this.weather = new WeatherWarnings(this.settings); this.admin.SettingsUpdate += this.settings.AdminModelUpdateSettings; this.StartListen(); + this.WaitForShutdown(); + this.Dispose(); } private void AdminModelUpdateNames(Object sender, EventArgs e) { @@ -47,7 +49,7 @@ namespace Fraunhofer.Fit.IoT.LoraMap { private void CheckJsonFiles() { if(!Directory.Exists("json")) { - Directory.CreateDirectory("json"); + _ = Directory.CreateDirectory("json"); } if(!File.Exists("json/names.json")) { File.WriteAllText("json/names.json", "{}"); @@ -190,5 +192,10 @@ namespace Fraunhofer.Fit.IoT.LoraMap { } return ret; } + + public override void Dispose() { + this.weather.Dispose(); + base.Dispose(); + } } } \ No newline at end of file