launchsettings.json 此文件仅用于本地开发环境,如果希望Asp.Net Core 应用程序在发布和部署应用程序时使用某些独立的设置,请将它们存储在 appsettings.json 文件中。
Visual Studio 下IISExpress运行则调用配置文件名称"commandName": "IISExpress"的配置,
NET Core CLI(dotnet run)运行项目,则调用名称为"commandName": "Project",的配置文件。
其中 ''ASPNETCORE_ENVIRONMENT'' = "Development"
对应开发环境:
- 开发环境--Development
- 演示(模拟、临时)环境--Staging
- 生产环境-- Production
- 1、如果我们没有明确设置ASPNETCORE_ENVIRONMENT变量,则默认为生产环境(Production)。
- 2、环境变量值我们可以通过系统环境与launchsettings.json 来改变,如果在两个位置(即 launchsettings.json 文件和操作系统中)都设置了环境变量,则 launchsettings.json 文件中的值将覆盖操作系统级别指定的值。
ASP.NET Core 也支持自定义环境。例如,要检查环境是否为 UAT,请使用 IsEnvironment()方法,如: env.IsEnvironment(“UAT”)
appsettings.json Asp.Net Core中我们使用appsettings.json来存储应用配置,且应用程序配置设置可以来自以下不同的配置源。
1、文件(appsettings.json,appsettings..json)Environment环境不同,托管在对应环境。
2、用户机密(用户机密)
3、环境变量(环境变量)
4、命令行参数(命令行参数)
我们要在Startup中访问配置信息需要进行依赖注入,注入框架提供的IConfiguration服务:
private IConfiguration _configuration;
//注意,我们在这里使用了依赖注入
public Startup(IConfiguration configuration)
{
_configuration = configuration;
}
源于我们可以通过四种配置源去配置信息,如果存在多个配置源的Key相同时,会按读取顺序的后面配置源信息覆盖先前相同Key的配置源信息。读取配置源的顺序如下:
1、appsettings.json,
2、appsettings..json
3、用户机密
4、环境变量
5、命令行参数
Startup.cs
- ConfigureServices()
-
Configure() 在该方法中设置请求处理管道。
1) 所有的请求都会在每个中间件组件调用next()方法之前触发。请求按照图中箭头的所示方向,依次穿过所有管道。
2) 当中间件处理请求并产生响应时,请求处理流程在管道中开始反向传递。
3) 所有的响应都会在每个中间件组件调用next()方法之前触发。响应按照图中箭头的所示方向,依次穿过所有管道。
学习笔记来源于:52abp学习文档