using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
namespace EasyTemplate.Tool;
public static class Setting
{
///
///
///
private static IConfigurationRoot? configuration;
///
/// 获取配置文件
///
///
///
public static bool AddConfiguration(this IServiceCollection services)
{
configuration = configuration ?? new ConfigurationBuilder()
.SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
.AddJsonFile("Configuration/App.json", optional: true, reloadOnChange: true)
.AddJsonFile("Configuration/DataBase.json", optional: true, reloadOnChange: true)
.AddJsonFile("Configuration/ThirdParty.json", optional: true, reloadOnChange: true)
.Build();
Log.Info("加载配置完成");
return configuration is null;
}
///
/// 获取appsettings.json配置信息
///
///
///
///
public static T? Get(string path)
{
try
{
var value = configuration?.GetSection(path).Value;
var result = (T)Convert.ChangeType(value, typeof(T));
return result;
}
catch (Exception)
{
return default;
}
}
///
/// 获取appsettings.json配置信息
///
///
///
///
public static IConfigurationSection? GetSection(string path)
{
try
{
return configuration?.GetSection(path);
}
catch (Exception)
{
return default;
}
}
}