| 123456789101112131415161718192021222324252627282930313233 |
- using System.Text;
- using Newtonsoft.Json;
- namespace Vbdsm.Settings
- {
- public class AppSetting
- {
- public List<ServerSetting> Servers { get; set; } = new List<ServerSetting>();
- public int MaxErrorCount { get; set; } = 10;
- public bool UseInnerTerminal { get; set; } = false;
- public List<TerminalSetting> Terminals { get; set; } = new List<TerminalSetting>();
- private static AppSetting? _instance;
- public static AppSetting Instance => GetInstance();
- private static AppSetting GetInstance()
- {
- if (_instance == null)
- {
- using var fileStream = new FileStream("appsettings.json", FileMode.Open, FileAccess.Read);
- int n = (int)fileStream.Length;
- byte[] bt = new byte[n];
- var read = fileStream.Read(bt, 0, n);
- fileStream.Close();
- string data = Encoding.UTF8.GetString(bt, 0, n);
- _instance = JsonConvert.DeserializeObject<AppSetting>(data) ?? new AppSetting();
- }
- return _instance;
- }
- }
- }
|