DOTNET Web 应用程序中自定义环境名称的后果

问题描述 投票:0回答:1

我一直在尝试找出将 ASPNETCORE_ENVIRONMEMT 变量配置为“生产”和生产部署之外的任何其他内容的后果(如果有)。

我们使用环境变量来根据我们的部署目标加载不同的 appSettings 配置,并且我们不确定当您将环境设置为“生产”时是否在幕后完成了任何关键的优化。

我知道,如果您不设置变量,它默认为“Production”,但仅此而已......🤔

源代码的编码方式是否总是针对Environment.IsDevelopment 方法而不是Environment.IsProduction 方法进行检查,以便将其设置为其他任何内容对于发布优化而言并不重要?

提前谢谢您!

c# .net-core optimization production-environment aspnetcore-environment
1个回答
0
投票

文档中所写:

开发环境可以启用不应在生产中公开的功能。例如,ASP.NET Core 项目模板在开发环境中启用开发人员异常页面。由于性能成本,范围验证和依赖项验证仅发生在开发中。

[...]

 生产环境的配置应最大限度地提高安全性、性能和应用程序的稳健性。一些常见的设置 与开发的不同之处包括:

  • 缓存。
  • 客户端资源被捆绑、缩小,并可能通过 CDN 提供服务。
  • 禁用诊断错误页面。
  • 启用友好错误页面。
  • 启用生产日志记录和监控。例如,使用 Application Insights。

最终,大部分优化将由 C# 编译器在发布版本编译时完成,并且在应用程序执行时由 JIT 完成。毕竟,ASP.NET 应用程序仍然是 .NET 应用程序,并且它在相同的运行时上运行。

© www.soinside.com 2019 - 2024. All rights reserved.