同一套枢纽系统,不会只有一个环境。最常见的至少有:
- Development:本地开发演练馆
- Staging:预发布试运行馆
- Production:正式对外运营馆
#环境分支写法
if (app.Environment.IsDevelopment())
{
app.MapGet("/dev-info", () => Results.Ok("当前是开发环境"));
}
else
{
app.UseExceptionHandler();
}#配置覆盖关系
基础手册:appsettings.json
+
环境补丁:appsettings.Development.json / appsettings.Production.json
+
机器级环境变量
+
启动参数这像什么?像国家级枢纽有“全国统一制度”,也有“正式馆执行细则”和“当前机器上的运行参数”。
#环境区分最常见的用途
- 数据库连接串不同
- 日志级别不同
- 调试页面只在开发环境开启
- 第三方服务地址不同
- 是否允许详细错误信息不同
环境意识,是后端工程化的基本功。