AppSettings.json示例如下
{ "Logging": { "IncludeScopes": false, "LogLevel": { "Default": "Warning" } }, "ConnectionStrings": { "CxyOrder": "Server=LAPTOP-AQUL6MDE\\MSSQLSERVERS;Database=CxyOrder;User ID=sa;Password=123456;Trusted_Connection=False;" }, "Appsettings": { "SystemName": "PDF .NET CORE", "Date": "2017-07-23", "Author": "PDF" }, "ServiceUrl": "https://www.baidu.com/getnews" }
创建读取类:
using Microsoft.Extensions.Configuration;using Microsoft.Extensions.Configuration.Json;namespace NetCoreOrder.Common { /// <summary> /// 读取配置文件 /// </summary> public class AppConfigurtaionServices { public static IConfiguration Configuration { get; set; } static AppConfigurtaionServices() { //ReloadOnChange = true 当appsettings.json被修改时重新加载 Configuration = new ConfigurationBuilder() .Add(new JsonConfigurationSource { Path = "appsettings.json", ReloadOnChange = true }) .Build(); } } }
读取一级配置节点配置:
AppConfigurtaionServices.Configuration["ServiceUrl"]; //得到 https://www.baidu.com/getnews
读取二级子节点配置
AppConfigurtaionServices.Configuration["Appsettings:SystemName"]; //得到 PDF .NET CORE AppConfigurtaionServices.Configuration["Appsettings:Author"]; //得到 PDF
以下是我自己写的类及调用方式:
appsettings.json
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
"ConnectionStrings": {
"SqlServerContext": "Server=.;Data Source=(local);Database=NetCMS;uid=sa;pwd=sa123456"
},
"AllowedHosts": "*"
}
AppSettings.cs类
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace ASPCoreDemo.Models
{
public class AppSetting
{
public static IConfiguration Configuration { get; set; }
static AppSetting()
{
Configuration = new ConfigurationBuilder()
.Add(new JsonConfigurationSource { Path = "appsettings.json", ReloadOnChange = true })
.Build();
}
}
}
DbContext子类调用示例
using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace ASPCoreDemo.Models
{
public class DataContext : DbContext
{
public DataContext()
{
}
public DataContext(DbSet<China> chinas)
{
China = chinas;
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(AppSetting.Configuration["ConnectionStrings:SqlServerContext"]);
}
public DbSet<China> China { get; set; }
}
}