【发布时间】:2025-11-27 04:15:01
【问题描述】:
我们正在尝试从 Azure Web App 获取连接字符串以与我们的 ASP.net 网站一起使用。
我们已经在 Azure Web App 中正确配置了连接字符串:
但是,当我们访问我们的 Kudu 环境页面时,它显示的连接字符串完全不正确,无法弄清楚为什么它没有显示我们的自定义连接字符串。
另外 - 我们正在使用自定义连接字符串,因为我们有一个特殊的连接器 (Devart Mysql),我们需要保持正确的提供程序名称。
我想知道 azure web 应用程序是否覆盖了我们的提供程序并将其重置为 Sql Server 提供程序,而不是我们需要使用的 Devart.MySql 提供程序。感谢任何帮助/指导
更新
使用 kudu 检查 web.config 似乎 azure 自动将提供程序名称更改为 System.Data.Entityclient - 我们如何防止这种情况发生?我相信这是问题的根源
另外 - 我们正在使用准系统项目以最低限度对此进行测试,因此我们知道项目中没有其他因素在操纵这些值,可以肯定的是 azure web 应用程序正在做出这种改变,只是没有确定如何解决它
【问题讨论】:
-
如果您在 app.config 中指定了 Azure 连接字符串,则无需指定。它也以相反的方式工作。您可以同时指定两者,但 azure 设置始终是最重要的。我不确定怎么会出现这种错误,也许你有调试配置有正确的连接字符串,但没有改变你部署到天蓝色时使用的发布配置?
-
我会假设你有错误的发布配置并且没有为其指定正确的数据库,这就是它在 Kudu 中显示错误值的原因
-
您也可以使用 Kudu cmd 面板在 wwwroot 文件夹下检查您当前的 web.config
-
我检查了 kudu web.config - 它会自动更改提供程序名称 - 我已经更新了更多详细信息的问题 - 我们如何防止提供程序名称更改?
-
您使用什么配置进行部署?你应该在你的 VS web 项目中找到 Web.Release.config 并确保你有正确的连接字符串。
标签: c# asp.net entity-framework azure azure-web-app-service