AppSetting.cs 874 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5. using System.Text;
  6. using System.Threading.Tasks;
  7. using Newtonsoft.Json;
  8. namespace StressClient.common
  9. {
  10. public class AppSetting
  11. {
  12. public string server_address { get; set; }
  13. public int server_port { get; set; }
  14. public string[] work_day_time_span { get; set; }
  15. private static AppSetting _instance ;
  16. private AppSetting()
  17. {
  18. }
  19. public static AppSetting Instance()
  20. {
  21. if (_instance == null)
  22. {
  23. var fileStream = new FileStream("appsettings.json", FileMode.Open, FileAccess.Read);
  24. int n = (int)fileStream.Length;
  25. byte[] bt = new byte[n];
  26. int r = fileStream.Read(bt, 0, n);
  27. fileStream.Close();
  28. string data = Encoding.UTF8.GetString(bt, 0, n);
  29. _instance = JsonConvert.DeserializeObject<AppSetting>(data);
  30. }
  31. return _instance;
  32. }
  33. }
  34. }