欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

.NET Core读取配置文件appsettings.json

程序员文章站 2023-12-28 14:16:28
...

**

.NET Core读取配置文件appsettings.json

**
前言
看过我前几篇博客的都知道,之前匆匆忙忙搭了一个.NET Core的框架,有很多小细节没有时间琢磨,比如配置文件我用的依然是Web.config,今天得了空咱就把他改成appsettings.json,盘它

appsettings.json文件如下

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  },
  "Config": {
    "Host": "http://localhost:63657/",
    "Environment": "Debug"
  },
  
  "AllowedHosts": "*"
}

比如我们要读取HostEnvironment两个Config,要是放在Web.config里,加个keyvalue就好了,像这样

<appSettings>
	<add key="Environment"  value="Debug"/>
</appSettings>

但在appsettings.json配置文件里,我们有其他读取方式,这里举例我用到的这一种。
1,配置一个类和配置文件结构相同,像这样

public class Config
{
    public string Environment { get; set; }
    public string Host { get; set; }
}

2,写一个读取配置文件的工具类,像这样

namespace Topwin.Astrazeneca.AZEView.Management.DBContext
{
    /// <summary>
    /// 读取配置文件
    /// </summary>
    public class ConfigServices
    {
        public static IConfiguration Configuration { get; set; }
        static ConfigServices()
        {
            //ReloadOnChange = true 当appsettings.json被修改时重新加载   
            //生产发布path: appsettings.Production.json
            Configuration = new ConfigurationBuilder()
            .Add(new JsonConfigurationSource { Path = "appsettings.json", ReloadOnChange = true })
            .Build();
        }
    }
}

3,读取配置文件,像这样

if (ConfigServices.Configuration.GetSection("Config").Get<Config>().Environment == "Prod"){ }

4,如果发生产,我们可以加一套配置文件,像这样

appsettings.Production.json

我们在步骤2中改一下要解析的配置文件名字即可,这样我们每次发布和本地调试只需要改一处这里就好了。

仅供学习参考,如有侵权联系我删除

相关标签: .NET Core .net c#

上一篇:

下一篇: