ASP.NET Core 8 的运行环境 Environment

开发流程一般有3个阶段:

  • 开发 Development
  • 测试 Stage
  • 正式 Production

运行时环境变量可以用于根据不同的开发阶段运行不同的逻辑,比如在开发阶段的某些功能或保密信息不暴露在正式上线的代码中。

在Visual Stduio创建的模板代码中是否为开发环境Environment,然后使用异常页面:

csharp 复制代码
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddRazorPages();
var app = builder.Build();
// 判断是否为开发环境Environment
if (!app.Environment.IsDevelopment())
{
    app.UseExceptionHandler("/Error");
    app.UseHsts();
}
app.Run();

可以在 Properties\launchSettings.json 文件中设置 ASPNETCORE_ENVIRONMENT 变量来标识。

  • launchSettings.json只有在开发阶段才被使用。
  • 不会被部署到产品代码中。
  • 可以包含Profiles
  • 可以在Visual Studio的调试窗口中设置ASPNETCORE_ENVIRONMENT 的值来覆盖这里。

也可以通过host对象的属性来设置:

csharp 复制代码
app.Environment.EnvironmentName = "default";

还可以通过builder来设置:

csharp 复制代码
var builder = WebApplication.CreateBuilder(new WebApplicationOptions
{
    EnvironmentName = Environments.Staging
}); 

Production 环境

在Production运行环境中,应该保证最安全,性能最好,最健壮的代码。以及:

  • 启用Caching缓存。
  • 客户端的资源应该被打包压缩放在CDN上。
  • 禁用调试页面
  • 启用友好页面。
  • 启用日志系统。
相关推荐
PPPHUANG2 分钟前
一次 CompletableFuture 误用,如何耗尽 IO 线程池并拖垮整个系统
java·后端·代码规范
用户83562907805122 分钟前
用Python轻松管理Word页脚:批量处理与多节文档技巧
后端·python
想用offer打牌40 分钟前
一站式了解Spring AI Alibaba的流式输出
java·人工智能·后端
秋说1 小时前
华为 DevKit 25.2.rc1 源码迁移分析使用教程(openEuler + ARM64)
后端
ServBay1 小时前
C# 成为 2025 年的编程语言,7个C#技巧助力开发效率
后端·c#·.net
行百里er1 小时前
一个还没写代码的开源项目,我先来“画个饼”:Spring Insight
后端·开源·github
威哥爱编程2 小时前
2026年的IT圈,看看谁在“裸泳”,谁在“吃肉”
后端·ai编程·harmonyos
码事漫谈2 小时前
当多态在构造中“失效”的那一刻
后端
Sammyyyyy2 小时前
Symfony AI 正式发布,PHP 原生 AI 时代开启
开发语言·人工智能·后端·php·symfony·servbay
袋鱼不重2 小时前
保姆级教程:让 Cursor 编辑器突破地区限制,正常调用大模型(附配置 + 截图)
前端·后端·cursor