当前位置:首页 > Web开发 > 正文

isCheckIp };} 方法二、绑定读取 首先

2024-03-31 Web开发

{ "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