配置文件
如:appsettings.json
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"ConnectionStrings": {
"ProductQualityContext_SERVER_CONN": "Server=.;Database=text;Uid=sa;Pwd=123456;" //sqlserver链接字符串
},
"AppSettings": {
"SZYXPY_Path": "http://www.baidu.com",
"KCPX_Result": "http://www.baidu.com",
"key": "2102E06D6F6746778A409CA8DDD998F7",
"code": "2102E06D6F6746778A409CA8DDD998F7"
},
"AllowedHosts": "*"
创建一个实体AppSettings 与之对应
public class AppSettings
{
public string SZYXPY_Path { get; set; }
public string KCPX_Result { get; set; }
public string key { get; set; }
public string code { get; set; }
}
获取配置文件中的值
创建一个AppSettingConfig类
public sealed class AppSettingConfig
{
private static AppSettings _instance;
private static readonly object _lock = new object();
public static string Env;
public static AppSettings AppSettings
{
get
{
//if (null == _instance)
//{
lock (_lock)
{
//if (null == _instance)
//{
//if (string.IsNullOrEmpty(Env))
// throw new ArgumentNullException("AppSettingConfig.Env is null!");
var config = new ConfigurationBuilder()
.SetBasePath(Environment.CurrentDirectory)
//.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile($"appsettings.json", optional: true, reloadOnChange: true)
.Build();
var sp = new ServiceCollection()
.AddOptions()
.Configure<AppSettings>(config.GetSection("AppSettings"))
.BuildServiceProvider();
var hosting = sp.GetService<IOptions<AppSettings>>();
_instance = hosting.Value;
//}
}
//}
return _instance;
}
}
}
就这样就可以了,使用,直接用AppSettingConfig.AppSettings.xxx