asp.net core读取appsetting.json文件

1、在Startup.cs文件中注入,ConfigureServices方法 

services.Configure<MyConfig>(Configuration.GetSection("MyConfig"));

AppSetting.json文件

 "MyConfig": {
    "ResVersion": "1.0.2 Beta"
  },

自定义类

public class MyConfig
    {
        public string ResVersion { get; set; }
    }

使用

public class ValuesController : Controller
{
        private readonly MyConfig _config;

        public ValuesController(IOptions<MyConfig> op)
        {
            _config = op.Value;
        }
}

 

2、读取指定节点下节点值。Nuget引入Microsoft.Extensitions.Configuration。

自定义AppSettingHelper.cs。

public class AppSettingsHelper
    {
    private static IConfigurationSection appSections = null;

        public static string AppSetting(string key)
        {
            string str = "";
            if (appSections.GetSection(key) != null)
            {
                str = appSections.GetSection(key).Value;
            }
            return str;
        }
        public static void SetAppSetting(IConfigurationSection section)
        {
            appSections = section;
        }
}

在Startup.cs中ConfigureServices引入

AppSettingsHelper.SetAppSetting(Configuration.GetSection("AppSettings"));

AppSetting.json文件,只限AppSettings下一级节点

"AppSettings": {
    "Url": "test"
  }

使用

var url = AppSettingsHelper.AppSetting("Url");

 3、不通过依赖注入形式。自定义AppSettingHelper.cs类。

 Nuget引入Microsoft.Extensitions.Configuration和Microsoft.Extensitions.Configuration.Json

public class AppSettingsHelper
{
        public static IConfiguration Configuration { get; set; }
        static AppSettingsHelper()
        {
            //ReloadOnChange = true 当appsettings.json被修改时重新加载            
            Configuration = new ConfigurationBuilder()
            .Add(new JsonConfigurationSource { Path = "appsettings.json", ReloadOnChange = true })
            .Build();
        }

        public static string SMSSign
        {
            get { return Configuration["SMS:SMSSign"]; }
        }
}

AppSetting.json配置文件

"SMS": {
    "SMSSign": "测试"
  },
  

使用直接调用 AppSettingHelper.SMSSign;

 

转载于:https://www.cnblogs.com/flywing/p/8761715.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值