You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ASP.NET Core 6的Program.cs文件中使用appsettings.json配置

ASP.NET Core 6 顶级语句模式下访问配置与依赖注入说明

核心逻辑说明

ASP.NET Core 6 使用顶级语句简化Program.cs后,调用WebApplication.CreateBuilder(args)生成的builder实例默认已经加载了所有默认配置源(包括appsettings.json、对应环境的配置文件、环境变量、命令行参数等),直接通过builder.Configuration即可获取IConfiguration实例,无需额外注册或构造。

替换Redis硬编码配置的具体步骤

1. 先在appsettings.json中增加对应配置项

{
  "RedisCache": {
    "ConnectionString": "localhost:6379"
  },
  // 其他原有配置项
}

2. 修改Program.cs中的服务注册代码

两种常用读取方式二选一即可:

  • 方式1:直接按键名读取
builder.Services.AddStackExchangeRedisCache(options =>
{
    options.Configuration = builder.Configuration["RedisCache:ConnectionString"];
});
  • 方式2:配置节强绑定(适合配置项较多的场景,自动匹配属性名)
builder.Services.AddStackExchangeRedisCache(options =>
{
    builder.Configuration.GetSection("RedisCache").Bind(options);
});

其他场景补充说明

1. Build管道后访问配置

调用builder.Build()生成app实例后,也可以直接通过app.Configuration访问配置,示例:

var app = builder.Build();
// 管道配置阶段读取配置
var redisConn = app.Configuration["RedisCache:ConnectionString"];

2. 依赖注入使用IConfiguration

IConfiguration默认已经注册到依赖注入容器中,在控制器、自定义服务等类中直接通过构造函数注入即可使用,示例:

[ApiController]
[Route("api/[controller]")]
public class TestController : ControllerBase
{
    private readonly IConfiguration _config;

    // 构造函数注入即可自动获取实例
    public TestController(IConfiguration config)
    {
        _config = config;
    }

    [HttpGet("redis-conn")]
    public IActionResult GetRedisConn()
    {
        return Ok(_config["RedisCache:ConnectionString"]);
    }
}

内容的提问来源于stack exchange,提问作者Sajed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 14:45:03