azure - 为什么即使在将我的 AppSettings JSON 文件从配置生成器中注释掉之后,它们仍然被包含在内?

标签 azure .net-core azure-web-app-service

我一直在尝试将一些应用程序配置从使用 appsettings.json 文件迁移到使用 Azure 应用程序配置。尽管注释掉了 .AddJsonFile 扩展,应用程序似乎仍然使用它们来构建配置。

除了导致使用应用程序设置的配置生成器设置之外,我无法确定是否错过了其他一些设置。

我在 API 的 Main() 方法中注释掉了旧的 .AddJsonFile 扩展,并期望它在尝试执行它时抛出错误。

奇怪的是,它仍然运行良好,因此我删除了服务器上的 appsettings.json 文件(位于 site/wwwroot 下),重新启动了应用程序服务,然后当我再次尝试点击它时收到了我所期望的错误。所以在我看来,应用程序服务仍在使用 appsettings 文件来生成配置。

这是我的 Main() 方法的样子:

public static void Main(string[] args)
        {
            var env = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
            var configuration = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                //.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
                //.AddJsonFile($"appsettings.{env}.json", optional: true, reloadOnChange: true)
                .AddAzureAppConfiguration()
                .Build();
}

我已经搜索了应用程序的其余部分和应用程序服务,以尝试查看是否有其他一些针对 appsettings.json 文件的设置,但无法找到任何设置。

当尝试在线查找类似问题时,我只遇到了有关人们尝试通过 json 文件添加配置的问题,而没有遇到过人们试图停止使用 json 的问题文件。

API 位于 .NET 7 上(不使用顶级语句),并作为 Web 应用程序托管在 Azure 应用服务上。

最佳答案

Why are my AppSettings JSON files being included even after commenting them out of the configuration builder?

部署应用程序后,appsettings.json 文件将在已部署应用程序的root 文件夹中可用。

  • 即使您避免使用它或正如您所说的那样,部署后配置文件也已存在于生产环境中。因此,将从那里选取值。

  • 无论您如何删除该文件,但它仍然从 appsettings 配置中获取值。

  • 原因可能是环境变量中的值可用。

  • 即使我们在本地或部署的应用程序中没有配置,并且在环境变量中有配置设置。应用程序采用环境变量=>应用程序设置`的值。

enter image description here

  • 这就是您的应用仍在使用应用设置的原因。

  • 删除键值对并立即运行应用。

  • 为避免混淆,请确保删除 KUDU 中的所有 appsettings json 文件。

  • 如果您已在 Azure 门户中将环境设置为开发,并在 KUDU 中拥有 appsettings.Development.json 文件,那么它将从现有文件本身中选取值。

关于azure - 为什么即使在将我的 AppSettings JSON 文件从配置生成器中注释掉之后,它们仍然被包含在内?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77194312/

相关文章:

Azure 资源管理器::嵌套模板

azure - 使用 Azure CLI 从资源组中仅获取可用资源列表

.Net core 的 MySql 连接器将文本截断为 255 个字符

azure - 在 AppService 上启用 HTTP/2 会导致问题吗?

asp.net - 通过域名限制对网站的访问

PHP Guzzle 无法解析本地主机上的主机,但可以在服务器上运行

javascript - 301 重定向到 azure 存储 blob 无意中传递了应用程序凭据

Oracle DB 与 .NET Core 使用 ODP.Net Provider - 如何设置架构

c# - 针对 .NET Core 与 .NET Standard

Azure CLI - 如何在启用软删除和版本控制的情况下恢复删除存储 Blob