Azure中的App Services具有一个名为ASPNETCORE_ENVIRONMENT的变量,如果不存在该变量将被设置为Production。也可以手动添加并设置为生产。当该变量设置为Production时,我的应用程序拒绝从数据库中提取任何内容,但是将其设置为Development时,一切正常。
我再次检查了appsettings.json和appsettings.Development.json都指向同一个数据库。代码检查中没有检查环境变量,所有与该检查有关的代码均被删除。
我得到的错误是“查询未返回任何结果”,但是一旦环境设置为“开发”,则相同的查询和相同的数据库将返回所有结果。
答案 0 :(得分:0)
您是否尝试过在startup.cs文件中设置配置? 如果没有,请尝试以下选项,看看是否适合您。
通常,从我们的ASP.NET Core获取这些设置的方法是访问注入的环境变量。因此,我们必须将这些环境变量加载到Startup.cs文件中的Configuration中:
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
Configuration = builder.Build();
}
指定配置源的顺序也很重要,因为这确定了设置在多个位置时应用设置的优先级。
希望这会有所帮助!