FreeSql/Examples/website/FreeSql.Site.DAL/AppSettingsManager.cs
2018-12-29 16:06:56 +08:00

44 lines
1.2 KiB
C#

using System.IO;
using Microsoft.Extensions.Configuration;
using Newtonsoft.Json;
namespace FreeSql.Site.DAL
{
/// <summary>
/// 配置管理器
/// </summary>
public static class AppSettingsManager
{
private static IConfiguration _configuration;
static AppSettingsManager()
{
BuildConfiguration();
}
private static void BuildConfiguration()
{
var builder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", false).AddJsonFile("appsettings.Development.json", true);
_configuration = builder.Build();
}
/// <summary>
/// 读取指定节点信息
/// </summary>
/// <param name="key">节点名称,多节点以:分隔</param>
public static string Get(string key)
{
return _configuration[key];
}
/// <summary>
/// 读取指定节点信息
/// </summary>
public static T Get<T>(string key)
{
string json = Get(key);
return JsonConvert.DeserializeObject<T>(json);
}
}
}