根据Microsoft的这篇文章,“如果DOTNET_ENVIRONMENT和ASPNETCORE_ENVIRONMENT尚未设置,则生产是默认值。默认情况下,部署到Azure的应用程序是生产。”我在Azure应用服务的配置中没有设置这些值,然而,在我注入的IConfiguration代码中,我看到的值来自appsettings.Development.json而不是appsettings.json。环境等于“生产”,但结果是一样的。我做错了什么?
appsettings.Development.json
appsettings.json
2ekbmq321#
“如果没有设置DOTNET_ENVIRONMENT和ASPNETCORE_ENVIRONMENT,则生产是默认值。是的,将Web应用程序部署到Azure应用程序服务后的ASPNETCORE_ENVIRONMENT将是生产环境。
ASPNETCORE_ENVIRONMENT
.cshtml
@inject Microsoft.AspNetCore.Hosting.IWebHostEnvironment Environment <h3>ASPNETCORE ENVIRONMENT: @Environment.EnvironmentName</h3>
字符串
的数据
"TestVal": "Value from appsettings.Development.json"
型
@inject IConfiguration myconfig; <h3>TestVal: @myconfig["TestVal"]</h3>
的
由于我在appsettings.json中设置了相同的值,因此加载了appsettings.json文件中的值。
Program.cs
json
builder.Configuration.AddJsonFile($"appsettings.Development.json", true, true); builder.Configuration.AddEnvironmentVariables();
型请确保您没有设置json文件如上所述。
wko9yo5t2#
我已经发现了这个问题。我还在很久以前(Azure之前)在web.config中设置了环境变量。删除这些旧值解决了这个问题。
web.config
2条答案
按热度按时间2ekbmq321#
“如果没有设置DOTNET_ENVIRONMENT和ASPNETCORE_ENVIRONMENT,则生产是默认值。
是的,将Web应用程序部署到Azure应用程序服务后的
ASPNETCORE_ENVIRONMENT
将是生产环境。.cshtml
页面中检索ASPNETCORE_ENVIRONMENT
值来进行检查。字符串
的数据
appsettings.Development.json
文件中设置了示例应用程序设置值。型
.cshtml
页面中的值。型
的
由于我在
appsettings.json
中设置了相同的值,因此加载了appsettings.json
文件中的值。的
appsettings.json
文件没有上述设置,则该值将为null。型
Program.cs
中设置json
文件,如下所示,则仅加载该文件值。型
请确保您没有设置
json
文件如上所述。wko9yo5t2#
我已经发现了这个问题。我还在很久以前(Azure之前)在
web.config
中设置了环境变量。删除这些旧值解决了这个问题。的数据