Waste/Nirvana.Common/Configs/Configs.cs

59 lines
1.6 KiB
C#

using Microsoft.Extensions.Configuration;
using System;
namespace Nirvana.Common
{
public static class Configs
{
private static IConfiguration _configuration;
static Configs()
{
//在当前目录或者根目录中寻找appsettings.json文件
var fileName = "appsettings.json";
var directory = AppContext.BaseDirectory;
directory = directory.Replace("\\", "/");
var filePath = $"{directory}/{fileName}";
if (!System.IO.File.Exists(filePath))
{
var length = directory.IndexOf("/bin");
filePath = $"{directory.Substring(0, length)}/{fileName}";
}
var builder = new ConfigurationBuilder()
.AddJsonFile(filePath, false, true);
_configuration = builder.Build();
}
public static string GetSectionValue(string key)
{
if (_configuration.GetSection(key) != null)
return _configuration.GetSection(key).Value;
else
return "";
}
public static bool GetBoolValue(string key)
{
bool value = false;
bool.TryParse(GetSectionValue(key), out value);
return value;
}
public static int GetIntValue(string key)
{
int value = 0;
int.TryParse(GetSectionValue(key), out value);
return value;
}
public static string GetString(string key)
{
return GetSectionValue(key);
}
}
}