isCheckIp };} 方法二、绑定读取 首先
{ "Logging": { "LogLevel": { "Default": "Warning" } }, "AllowedHosts": "*", "WebSetting": { "WebName": "ASP.NET Core", "Title": "Hello Title", "Behavior": { "IsCheckIp": true, "MaxConnection": 300 } } }
要领一、键读取
首先,在类结构函数注入 IConfiguration,例如:
public IConfiguration Configuration { get; } public ValuesController(IConfiguration configuration) { Configuration = configuration; }
然后就可以在该类任何要领读取:
[HttpGet] public ActionResult<IEnumerable<string>> Get() { var title = Configuration["WebSetting:Title"]; var isCheckIp = Configuration["WebSetting:Behavior:IsCheckIp"]; return new string[] { title, isCheckIp }; }
要领二、绑定读取
首先,还是类结构函数注入ICofiguration
public IConfiguration Configuration { get; } public ValuesController(IConfiguration configuration) { Configuration = configuration; }
然后,创建配置项布局对应的配置模型
public class Behavior { public bool IsCheckIp { get; set; } public int MaxConnection { get; set; } } public class WebSetting { public string WebName { get; set; } public string Title { get; set; } public Behavior Behavior { get; set; } }
最后如下方法读取配置
[HttpGet] public ActionResult<IEnumerable<string>> Get() { var webSetting = new WebSetting(); Configuration.GetSection("WebSetting").Bind(webSetting); var webName = webSetting.WebName; var isCheckIp = webSetting.Behavior.IsCheckIp; return new string[] { webName, isCheckIp.ToString() }; }
要领三、注册读取
首先,创建配置项布局对应的配置模型
public class Behavior { public bool IsCheckIp { get; set; } public int MaxConnection { get; set; } } public class WebSetting { public string WebName { get; set; } public string Title { get; set; } public Behavior Behavior { get; set; } }
然后,,在 ConfigureServices 要领中注册
public void ConfigureServices(IServiceCollection services) { services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); //注册配置 services.Configure<WebSetting>(Configuration.GetSection("WebSetting")); }
最后读取配置:在读取配置的类结构函数注入IOptions,就可以在该类任何位置读取配置如下
1、结构函数注入读取
private IOptions<WebSetting> webSettingOption; //结构函数 public ValuesController(IOptions<WebSetting> _webSettingOption) { webSettingOption = _webSettingOption; } [HttpGet] public ActionResult<IEnumerable<string>> Get() { var webName = webSettingOption.Value.WebName; var isCheckIp = webSettingOption.Value.Behavior.IsCheckIp; return new string[] { webName, isCheckIp.ToString() }; }
NetCore配置文件读取
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/33271.html