app.Environment.IsDevelopment()了解

app.Environment.IsDevelopment() 是 ASP.NET Core 里**判断当前运行环境是否为“开发环境”**的快捷 API。
  • 返回值:bool
    • true → 现在是 Development(开发)
    • false → 其他(Staging、Production 或自定义名称)

1. 底层原理

框架读取主机配置键:
"ASPNETCORE_ENVIRONMENT" / "DOTNET_ENVIRONMENT"
 
若值为 "Development"(大小写无关),则 IsDevelopment() 返回 true

2. 常见用法

var app = builder.Build();

if (app.Environment.IsDevelopment())
{
    app.UseDeveloperExceptionPage();   // 详细错误页
    app.UseWebAssemblyDebugging();     // Blazor WASM 调试
}
else
{
    app.UseExceptionHandler("/Error"); // 生产友好错误页
    app.UseHsts();                     // 强制 HTTPS
}
 

3. 设置方式

表格
复制
平台设置位置
Windows setx ASPNETCORE_ENVIRONMENT Development
Linux/mac export ASPNETCORE_ENVIRONMENT=Development
VS / VS Code launchSettings.json ➜ "environmentVariables"
Docker ENV ASPNETCORE_ENVIRONMENT=Development

4. 扩展方法族

csharp
复制
app.Environment.IsDevelopment()
app.Environment.IsStaging()
app.Environment.IsProduction()
app.Environment.IsEnvironment("Testing") // 自定义
 

一句话总结
app.Environment.IsDevelopment() 就是:
“一行代码判断当前是不是开发环境,用来开关调试页、详细日志、Swagger 等只应在开发阶段启用的功能。”
posted @ 2025-10-10 14:54  yinghualeihenmei  阅读(12)  评论(0)    收藏  举报