【问题标题】:Azure giving HTTP 500 Error when using IConfigurationBuilder.BuildAzure 在使用 IConfigurationBuilder.Build 时出现 HTTP 500 错误
【发布时间】:2021-10-23 03:44:04
【问题描述】:

我正在尝试遵循本指南https://docs.microsoft.com/en-us/azure/azure-app-configuration/quickstart-aspnet-core-app?tabs=core5x,它在本地工作,我可以使用此代码很好地获取连接字符串。

var settings = config.Build();
var connection = settings.GetConnectionString("AppConfig");

当我发布到 Azure 时出现问题,我收到 HTTP 500 错误。我尝试过尽可能打开所有类型的日志,我什至尝试在 Main 方法中尝试 TryCatch 以查看是否可以看到实际错误,但所有日志记录都在向我发送错误页面的 HTML。有什么帮助吗?如果有人知道这会破坏 Azure 的原因,那就太好了,或者告诉我如何实际获取真正详细的错误消息,以便我可以看到发生了什么问题。现在我只是硬编码了连接字符串,然后就可以正常工作了。

【问题讨论】:

  • 您的应用程序是否拥有对配置文件的读取权限?
  • 是的。当我对连接字符串进行硬编码时,它可以工作。还有它的 Azure,所以我认为这应该可以工作,因为它来自 Microsoft 的 Azure 指南。

标签: asp.net-mvc azure


【解决方案1】:
  1. 删除未使用的命名空间,构建解决方案,并将站点重新部署到 azure。

  2. 托管在 Azure Web 应用程序中的站点可能会遇到 500 (5XX) 错误,这不适用于托管在 Azure VM 中的网站)。 Azure Web App 文件是使用远程文件存储装载的,有时会导致与远程存储的连接问题。这可能会导致应用程序 (AppManager) 重新启动,从而导致 500 错误。可以采取以下步骤来减少这些错误发生的可能性:

  • 将 dss.config 配置为使用 Azure 表存储而不是 物理文件。

  • 将日志文件配置为保存在 Azure 存储中而不是物理文件中。

  • 通过在 Azure 门户的“应用程序设置”下添加以下密钥来启用 Local Cache

  • WEBSITE_LOCAL_CACHE_OPTION = 始终

注意:启用本地缓存模式在设置密钥后可能需要一些时间才能激活。要检查它是否已启用:

  • 转到https://<YOURSITE>.scm.azurewebsites.net/ProcessExplorer/
  • 点击“Properties”并确认环境变量WEBSITE_LOCALCACHE_READ设置为true

如果您无法让应用程序成功运行,我建议您参考此troubleshooting page 了解如何获取详细的错误消息日志以及一些提示,同时发布到 azure 应用服务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-09-25
    • 1970-01-01
    • 2020-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多