Configuration.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. using Bowin.Common.Utility;
  2. using Microsoft.Extensions.Configuration;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.IO;
  6. using System.Linq;
  7. using System.Threading.Tasks;
  8. namespace OrderSystem.Web
  9. {
  10. public class Configuration
  11. {
  12. public static Configuration Current
  13. {
  14. get
  15. {
  16. var configuration = new ConfigurationBuilder()
  17. .SetBasePath(Directory.GetCurrentDirectory())
  18. .AddJsonFile("appsettings.json")
  19. .Build();
  20. Configuration result = new Configuration();
  21. result.AppSettings = configuration.GetSection("AppSettings").Get<AppSettings>();
  22. result.CROSDomainList = configuration.GetSection("Web")
  23. .GetSection("Cros")
  24. .GetValue<string>("Domain")
  25. .Split(",", StringSplitOptions.RemoveEmptyEntries)
  26. .Select(x => x.Trim()).ToList();
  27. return result;
  28. }
  29. }
  30. public AppSettings AppSettings { get; set; }
  31. public List<string> CROSDomainList { get; set; }
  32. }
  33. public class AppSettings
  34. {
  35. public string TemplatePath { get; set; }
  36. public string PicturePath { get; set; }
  37. public string FilePath { get; set; }
  38. public string TemplatePhysicalPath
  39. {
  40. get
  41. {
  42. return HttpHelper.MapPath(TemplatePath);
  43. }
  44. }
  45. }
  46. }