asp.net-mvc - 使用 IConfigurationBuilder.Build 时 Azure 给出 HTTP 500 错误

标签 asp.net-mvc azure

我正在尝试遵循本指南 https://learn.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 App Logs Settings

最佳答案

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

  2. 当网站托管在 Azure VM 中时,不会发生 500 (5XX) 错误。但是,Azure Web Apps 中托管的网站可能会遇到这些问题。利用远程文件存储装载 Azure Web App 文件有时可能会导致远程存储的连接问题。

这可能会导致应用程序(应用程序管理器)重新启动,从而导致 500 错误。可以采取以下步骤来减少发生这些错误的机会:

  • 更改 dss.config文件的设置以使用 Azure 表存储而不是物理文件。

  • 设置 Azure 存储来保存日志文件而不是物理文件。

  • 启用选项 Local Cache通过添加 key WEBSITE_LOCAL_CACHE_OPTION = Always在 Azure 门户 > Web 应用 > 应用程序设置中。

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

  • 转到https://<YOURSITE>.scm.azurewebsites.net/ProcessExplorer/
  • 点击“属性”并验证环境变量WEBSITE_LOCALCACHE_READ是否设置为true

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

关于asp.net-mvc - 使用 IConfigurationBuilder.Build 时 Azure 给出 HTTP 500 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68881615/

相关文章:

asp.net-mvc - ASP.NET MVC 2 - 如何根据模型上下文正确切换 View ?

c# - Razor 安全检查无效的表达式术语

asp.net-mvc - 使用ASP.NET Core和MVC存储本地文件

c# - 使用 Linq 在 View 中显示字段名称

jquery - 从 MVC 模型获取文本到 jQuery 时的本地化问题

azure - CAS azure saml2 即时身份验证问题太旧或将来

azure - 如何触发 Azure 逻辑应用程序中的工作流以及触发器采用的参数作为输入?

c# - 使用 Azure 数据工厂 Web 事件发布表单数据会向 C# 脚本返回不同的结果

c# - azure 队列性能

azure - 将文件从 Azure PaaS VM 传输到 IaaS VM