Add Correct Dispose Handling

This commit is contained in:
BlubbFish 2019-08-02 19:04:51 +02:00
parent 36a6b86a5b
commit f65b81b369
5 changed files with 16 additions and 7 deletions

View File

@ -5,6 +5,7 @@
* Add setting model to code * Add setting model to code
* #19 grid automatisch generieren * #19 grid automatisch generieren
### Bugfixes ### Bugfixes
* Add Correct Dispose Handling
### Changes ### Changes
* Refactoring of all JS * Refactoring of all JS
* Make only one request per second instead of four per AJAX * Make only one request per second instead of four per AJAX

View File

@ -53,6 +53,7 @@
<Compile Include="Model\AlarmItem.cs" /> <Compile Include="Model\AlarmItem.cs" />
<Compile Include="Model\Settings.cs" /> <Compile Include="Model\Settings.cs" />
<Compile Include="Model\UTMData.cs" /> <Compile Include="Model\UTMData.cs" />
<Compile Include="Model\WeatherWarnings.cs" />
<Compile Include="Server.cs" /> <Compile Include="Server.cs" />
<Compile Include="Model\PositionItem.cs" /> <Compile Include="Model\PositionItem.cs" />
<Compile Include="Program.cs" /> <Compile Include="Program.cs" />

View File

@ -14,5 +14,8 @@ namespace Fraunhofer.Fit.IoT.LoraMap.Model {
private void StartBackgroundThread() { private void StartBackgroundThread() {
} }
internal void Dispose() {
}
} }
} }

View File

@ -9,22 +9,19 @@ namespace Fraunhofer.Fit.IoT.LoraMap {
InIReader.SetSearchPath(new List<String>() { "/etc/loramap", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\loramap" }); InIReader.SetSearchPath(new List<String>() { "/etc/loramap", Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\loramap" });
if (!InIReader.ConfigExist("settings")) { if (!InIReader.ConfigExist("settings")) {
Helper.WriteError("settings.ini not found!"); Helper.WriteError("settings.ini not found!");
Console.ReadLine(); _ = Console.ReadLine();
return; return;
} }
if(!InIReader.ConfigExist("requests")) { if(!InIReader.ConfigExist("requests")) {
Helper.WriteError("requests.ini not found!"); Helper.WriteError("requests.ini not found!");
Console.ReadLine(); _ = Console.ReadLine();
return; return;
} }
InIReader ini = InIReader.GetInstance("settings"); InIReader ini = InIReader.GetInstance("settings");
Dictionary<String, String> backenddata = ini.GetSection("mqtt"); Dictionary<String, String> backenddata = ini.GetSection("mqtt");
backenddata.Add("topic", "lora/#;camera/#"); backenddata.Add("topic", "lora/#;camera/#");
ADataBackend b = (ADataBackend)ABackend.GetInstance(backenddata, ABackend.BackendType.Data); ADataBackend b = (ADataBackend)ABackend.GetInstance(backenddata, ABackend.BackendType.Data);
new Server(b, ini.GetSection("webserver"), InIReader.GetInstance("requests")); _ = new Server(b, ini.GetSection("webserver"), InIReader.GetInstance("requests"));
while(true) {
System.Threading.Thread.Sleep(1000);
}
} }
} }
} }

View File

@ -35,6 +35,8 @@ namespace Fraunhofer.Fit.IoT.LoraMap {
this.weather = new WeatherWarnings(this.settings); this.weather = new WeatherWarnings(this.settings);
this.admin.SettingsUpdate += this.settings.AdminModelUpdateSettings; this.admin.SettingsUpdate += this.settings.AdminModelUpdateSettings;
this.StartListen(); this.StartListen();
this.WaitForShutdown();
this.Dispose();
} }
private void AdminModelUpdateNames(Object sender, EventArgs e) { private void AdminModelUpdateNames(Object sender, EventArgs e) {
@ -47,7 +49,7 @@ namespace Fraunhofer.Fit.IoT.LoraMap {
private void CheckJsonFiles() { private void CheckJsonFiles() {
if(!Directory.Exists("json")) { if(!Directory.Exists("json")) {
Directory.CreateDirectory("json"); _ = Directory.CreateDirectory("json");
} }
if(!File.Exists("json/names.json")) { if(!File.Exists("json/names.json")) {
File.WriteAllText("json/names.json", "{}"); File.WriteAllText("json/names.json", "{}");
@ -190,5 +192,10 @@ namespace Fraunhofer.Fit.IoT.LoraMap {
} }
return ret; return ret;
} }
public override void Dispose() {
this.weather.Dispose();
base.Dispose();
}
} }
} }