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

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

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来判断环境。

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);下面添加配置语句

//在CreateBuilder方法中已经完成了配置系统的初始化,就不再需要使用service.AddOption方法来注册选项的相关服务

builder.Host.ConfigureAppConfiguration((_, configBuilder) => { //此处下划线是抛元,类似于占位符

   stringconnStr=builder.Configuration.GetConnectionString("configServer");//在用户机密里的节点

   configBuilder.AddDbConfiguration(() =>newSqlConnection(connStr));

});

//需要写配置类和配置节点的绑定

builder.Services.Configure<SmtpOptions>(builder.Configuration.GetSection("Smtp"));//SmtpOptions是配置实体类

相关文章
|
1月前
|
存储 开发框架 JSON
ASP.NET Core OData 9 正式发布
【10月更文挑战第8天】Microsoft 在 2024 年 8 月 30 日宣布推出 ASP.NET Core OData 9,此版本与 .NET 8 的 OData 库保持一致,改进了数据编码以符合 OData 规范,并放弃了对旧版 .NET Framework 的支持,仅支持 .NET 8 及更高版本。新版本引入了更快的 JSON 编写器 `System.Text.UTF8JsonWriter`,优化了内存使用和序列化速度。
|
10天前
|
XML Java 数据库连接
SpringBoot集成Flowable:打造强大的工作流管理系统
在企业级应用开发中,工作流管理是一个核心组件,它能够帮助我们定义、执行和管理业务流程。Flowable是一个开源的工作流和业务流程管理(BPM)平台,它提供了强大的工作流引擎和建模工具。结合SpringBoot,我们可以快速构建一个高效、灵活的工作流管理系统。本文将探讨如何将Flowable集成到SpringBoot应用中,并展示其强大的功能。
41 1
|
1月前
mcr.microsoft.com/dotnet/core/aspnet:2.1安装libgdiplus
mcr.microsoft.com/dotnet/core/aspnet:2.1安装libgdiplus
29 1
|
2月前
|
开发框架 监控 前端开发
在 ASP.NET Core Web API 中使用操作筛选器统一处理通用操作
【9月更文挑战第27天】操作筛选器是ASP.NET Core MVC和Web API中的一种过滤器,可在操作方法执行前后运行代码,适用于日志记录、性能监控和验证等场景。通过实现`IActionFilter`接口的`OnActionExecuting`和`OnActionExecuted`方法,可以统一处理日志、验证及异常。创建并注册自定义筛选器类,能提升代码的可维护性和复用性。
|
1月前
|
开发框架 JavaScript 前端开发
一个适用于 ASP.NET Core 的轻量级插件框架
一个适用于 ASP.NET Core 的轻量级插件框架
|
1月前
|
SQL 数据库连接 数据库
管理系统中的Visual Studio与SQL集成技巧与方法
在现代软件开发和管理系统中,Visual Studio(VS)作为强大的集成开发环境(IDE),与SQL数据库的紧密集成是构建高效、可靠应用程序的关键
|
1月前
|
SQL 监控 数据库
管理系统VS SQL:高效集成的关键技巧与方法
在现代企业信息化建设中,管理系统(如ERP、CRM等)与SQL数据库之间的紧密集成是确保数据流动顺畅、业务逻辑高效执行的关键
|
2月前
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
41 7
|
2月前
|
存储 开发框架 前端开发
ASP.NET MVC 迅速集成 SignalR
ASP.NET MVC 迅速集成 SignalR
58 0
|
3月前
|
开发框架 前端开发 .NET
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
ASP.NET MVC WebApi 接口返回 JOSN 日期格式化 date format
47 0