.net core 项目如何读取appsettings.json配置文件
今天举两个可以读取配置文件的方法;再做项目时,我们会遇到很多的随时可变的量,或者一些。如果一直改动的话,会非常麻烦。我们就可以吧容易发生变动的数据给放在配置文件里面。这样一来我们如果要改变值就很容易,只需要修改文件就可以;
·
今天举两个可以读取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里面的数据!!
更多推荐
已为社区贡献1条内容
所有评论(0)