首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >7.2配置系统与ASP.NETCore集成

7.2配置系统与ASP.NETCore集成

作者头像
步步为营DotNet
发布2026-06-16 21:35:24
发布2026-06-16 21:35:24
720
举报

7.2配置系统与ASP.NET Core集成

CreateBuilder方法会按照下面的顺序提供默认配置:

  1. 加载现有的IConfiguration
  2. 加载根目录下的appsettings.json
  3. 加载根目录下的appesttings.Environment.json,Environment代表当前运行环境
  4. 当程序运行在开发环境下,程序会加载“用户机密”配置
  5. 加载环境变量
  6. 加载命令行中的配置

这个顺序可以更改,但是不建议更改,在项目开发的时候,一般不需要再去编写配置系统的初始化代码,我们可以直接通过WebApplication的Configuration属性来读取配置。

ASP.NET Core多环境配置

常见的环境有开发环境、测试环境、生产环境,有时不同的环境需要进行不同的配置。

环境变量ASPNETCORE_ENVIRONMENT的值代表了程序运行环境的名字:Development(开发环境)、Staging(测试环境)、Production(生产环境)。如果没有设置ASPNETCORE_ENVIRONMENT则默认为生产环境。

可以通过app.Environment.EnvironmentName读取到运行环境的名字,而且可以通过app.IsDevelopment、app.IsStaging、app.IsProduction来判断环境。

代码语言:javascript
复制
if (app.Environment.IsDevelopment())//只有开发环境时,才支持Swagger
{
    app.UseSwagger();
    app.UseSwaggerUI();
}

ASP.Net Core会先从appsettings.json下加载配置,然后从appesttings.Environment.json加载配置,可以是appsettings.Development.json、appsettings.Staging.json、appsettings.Production.json。一般我们在appsettings.json下编写所有环境共有的配置,在appesttings.Environment.json中编写对应于环境的配置。

用户机密

某些信息不能放到源码配置文件中,比如连接字符串,里面含有连接账号及密码等信息。.net提供一个用户机密机制允许用户将机密信息放到一个单独的JSON文件中,且该文件不放在项目中,因此不会被错误的上传的Github中。

右键项目->管理用户机密->填写配置信息。这个文件会放在系统目录中某GUID编号目录下。使用用户机密的注意事项:

  • 用户机密机制只是提供给开发者使用的
  • 系统内的JSON文件被删除,则需要重新配置
配置在ASP.NET Core的使用

WebApplication.CreateBuilder(args);下面添加配置语句

代码语言:javascript
复制
//在CreateBuilder方法中已经完成了配置系统的初始化,就不再需要使用service.AddOption方法来注册选项的相关服务
builder.Host.ConfigureAppConfiguration((_, configBuilder) => { //此处下划线是抛元,类似于占位符
    string connStr = builder.Configuration.GetConnectionString("configServer");//在用户机密里的节点
    configBuilder.AddDbConfiguration(() => new SqlConnection(connStr));
});
//需要写配置类和配置节点的绑定
builder.Services.Configure<SmtpOptions>(builder.Configuration.GetSection("Smtp"));//SmtpOptions是配置实体类
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2026-06-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 7.2配置系统与ASP.NET Core集成
    • ASP.NET Core多环境配置
    • 用户机密
    • 配置在ASP.NET Core的使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档