我正在尝试遵循本指南 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。
当网站托管在 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/