123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- using Microsoft.Extensions.Configuration;
- using Microsoft.Extensions.Configuration.Json;
- using Microsoft.Extensions.DependencyInjection;
- using Microsoft.Extensions.FileProviders;
- using Microsoft.Extensions.Options;
- using System;
- using System.IO;
- namespace Wms.Screen.Util.Comm
- {
- public class ConfigUtil
- {
- private static IConfiguration _config;
- public static IConfiguration GetConfiguration
- {
- get
- {
- if (_config != null) return _config;
- var configBuilder =
- new ConfigurationBuilder()
- .SetBasePath(AppContext.BaseDirectory)
- .Add(new JsonConfigurationSource()
- {
- Path = "appsettings.json",
- ReloadOnChange = true,
- });
- //var builder = new ConfigurationBuilder()
- //.SetBasePath(Directory.GetCurrentDirectory())
- //.AddJsonFile("appsettings.json");
- _config = configBuilder.Build();
- return _config;
- }
- set { _config = value; }
- }
- public static string GetConnectionString(string key)
- {
- return GetConfiguration?.GetConnectionString(key);
- }
- public static IConfigurationSection GetSection(string key)
- {
- return GetConfiguration?.GetSection(key);
- }
- //public static T GetAppSettings<T>(string key, string configFileName = "appsettings.json", string basePath = "") where T : class, new()
- //{
- // //Microsoft.Extensions.Options.ConfigurationExtensions
- // basePath = string.IsNullOrWhiteSpace(basePath)
- // ? Directory.GetCurrentDirectory()
- // : Path.Combine(Directory.GetCurrentDirectory(), basePath);
- // var configuration = new ConfigurationBuilder().SetBasePath(basePath)
- // .AddJsonFile(configFileName, false, true)
- // .Build();
- // var appconfig = new ServiceCollection()
- // .AddOptions()
- // .Configure<T>(configuration.GetSection(key))
- // .BuildServiceProvider()
- // .GetService<IOptions<T>>()
- // .Value;
- // return appconfig;
- //}
- public static IConfigurationRoot GetJsonConfig(string configFileName = "appsettings.json", string basePath = "")
- {
- basePath = string.IsNullOrWhiteSpace(basePath)
- ? Directory.GetCurrentDirectory()
- : Path.Combine(Directory.GetCurrentDirectory(), basePath);
- var configuration = new ConfigurationBuilder().SetBasePath(basePath)
- .AddJsonFile(configFileName, false, true)
- .Build();
- return configuration;
- }
- //public static IConfigurationRoot GetXmlConfig(string configFileName = "appsettings.xml", string basePath = "")
- //{
- // basePath = string.IsNullOrWhiteSpace(basePath)
- // ? Directory.GetCurrentDirectory()
- // : Path.Combine(Directory.GetCurrentDirectory(), basePath);
- // var configuration = new ConfigurationBuilder().AddXmlFile(config =>
- // {
- // config.Path = configFileName;
- // config.FileProvider = new PhysicalFileProvider(basePath);
- // config.ReloadOnChange = true;
- // });
- // return configuration.Build();
- //}
- //public static IConfigurationRoot GetIniConfig(string configFileName = "appsettings.ini", string basePath = "")
- //{
- // basePath = string.IsNullOrWhiteSpace(basePath)
- // ? Directory.GetCurrentDirectory()
- // : Path.Combine(Directory.GetCurrentDirectory(), basePath);
- // var configuration = new ConfigurationBuilder().AddIniFile(config =>
- // {
- // config.Path = configFileName;
- // config.FileProvider = new PhysicalFileProvider(basePath);
- // config.ReloadOnChange = true;
- // });
- // return configuration.Build();
- //}
- }
- }
|