/// <summary> /// Loads server properties from file /// </summary> public void LoadProperties() { string json = File.ReadAllText("properties.json"); try { ServerProperties properties = JsonConvert.DeserializeObject <ServerProperties>(json); curId = properties.nextId; serverDirectory = properties.ServerFolder; Console.WriteLine(serverDirectory); if (!Directory.Exists($"{serverDirectory}")) { Directory.CreateDirectory($"{serverDirectory}"); } if (!File.Exists($"{serverDirectory}\\data.json")) { File.WriteAllText($"{serverDirectory}\\data.json", "[]"); } } catch (Exception exception) { Console.WriteLine(exception.Message); Console.WriteLine("An error occurred while loading properties."); } }
/// <summary> /// Saves server properties to file /// </summary> public void SaveProperties() { ServerProperties properties = new ServerProperties(); properties.nextId = curId; properties.ServerFolder = serverDirectory; string json = JsonConvert.SerializeObject(properties); File.WriteAllText("properties.json", json); }
/// <summary> /// Loads the non-configurable properties for the application. /// </summary> /// <remarks> /// These properties are exposed by the server but cannot be changed by administrators. /// </remarks> protected override ServerProperties LoadServerProperties() { ServerProperties properties = new ServerProperties(); properties.ManufacturerName = "OPC Foundation"; properties.ProductName = "Demo Server"; properties.ProductUri = "http://opcfoundation.org/Demo/v1.0"; properties.SoftwareVersion = Utils.GetAssemblySoftwareVersion(); properties.BuildNumber = Utils.GetAssemblyBuildNumber(); properties.BuildDate = Utils.GetAssemblyTimestamp(); // TBD - All applications have software certificates that need to added to the properties. return(properties); }