今天举两个可以读取appsettings.json配置文件的方法;再做项目时,我们会遇到很多的随时可变的量,或者一些容易发生变动的数据。如果一直改动的话,会非常麻烦。我们就可以吧容易发生变动的数据给放在appsettings.json配置文件里面。这样一来我们如果要改变值就很容易,只需要修改appsettings.json文件就可以;

 我这里用.net 6版本作为演示:

首先我们需要再配置文件 -> appsettings.json中添加上我们的节点:

 一、第一种方法,通过静态字段

新建一个类我这里命名为AppConfig;在里面写一个获取方法,和我们所需要的字段名称;

namespace app_json
{
    public class AppConfig
    {
        //通过这个方法IConfiguration与配置文件链接起来
        public static void Init(IConfiguration configuration)
        {
            AppConfig App_Config = new AppConfig();
            configuration.Bind("CeShi",App_Config);
        }
        //所获取的节点的名字
        public static string Name { get; set; }

        public static int Age { get; set; }

    }
}

 其次:再Program.cs里面注入一下我们方法写的那个类

var config = builder.Configuration;
ConfigureServices(builder.Services);
void ConfigureServices(IServiceCollection services)
{
    AppConfig.Init(config);
}

我们这样就可以获取到AppConfig.cs里面字段的数据了 :只需要调用就行了

 二、第二种方法,直接用自带的 IConfiguration

首先我们可以封装一个方法,方便我们复用,到时候直接继承就好了。我这里封装到了BaseController里面

using Microsoft.AspNetCore.Mvc;

namespace app_json.Controllers
{
    public class BaseController : ControllerBase
    {
        public IConfiguration Configuration { get; set; }
        private readonly ILogger<BaseController> _logger;
        public BaseController(ILogger<BaseController> logger, IConfiguration configuration)
        {
            _logger = logger;
            Configuration = configuration;
        }
    }
}

控制器中使用的话,就需要继承一下这个Basecontroller然后生成一个构造函数就可以使用了

 这样我们就可以在控制器或者别的地方使用appsettings.json里面的数据!!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐