开发流程一般有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上。
- 禁用调试页面
- 启用友好页面。
- 启用日志系统。