Azure部署插槽-交换和保留连接字符串

Azure部署插槽-交换和保留连接字符串,azure,azure-deployment-slots,Azure,Azure Deployment Slots,我最近使用“Swap with preview”功能将一个staging Azure应用程序交换到生产环境中,交换完成后,生产应用程序指向staging SQL DB连接字符串。在应用程序设置中,我将暂存连接字符串保存并检查为暂存插槽中的插槽设置,将生产连接字符串保存并检查为生产插槽中的插槽设置 有人遇到过这种情况吗?我需要将各自的连接字符串粘到各自的插槽上,但在我的情况下,交换将源字符串带到目标生产插槽,尽管我认为我已将字符串正确配置为插槽设置并在两种环境中进行了检查。在Azure门户的App

我最近使用“Swap with preview”功能将一个staging Azure应用程序交换到生产环境中,交换完成后,生产应用程序指向staging SQL DB连接字符串。在应用程序设置中,我将暂存连接字符串保存并检查为暂存插槽中的插槽设置,将生产连接字符串保存并检查为生产插槽中的插槽设置


有人遇到过这种情况吗?我需要将各自的连接字符串粘到各自的插槽上,但在我的情况下,交换将源字符串带到目标生产插槽,尽管我认为我已将字符串正确配置为插槽设置并在两种环境中进行了检查。

在Azure门户的AppSettings中单击“插槽设置”连接字符串旁边的选项:

您如何理解它没有改变?。Azure不会覆盖psyhical文件。所以,如果您检查psyhical文件,您将看到一个已发布的文件(第一个),但无论如何它都会覆盖它。交换之后,生产用户将向暂存表写入数据。如果我将连接字符串粘贴到每个插槽,则不应发生这种情况-暂存连接字符串应粘贴到暂存插槽,而prod连接字符串应粘贴到prod插槽。@Ben,你找到了吗?我有一个类似的问题,现在我的网站将无法工作,当我切换到一个预期的数据库。考虑删除插槽/DB并重新开始,但这不是一个真正好的解决方案:(我想我也会这么做。我现在正在与Microsoft Azure合作,他基本上提出了相同的建议。我的插槽设置似乎没有真正起到任何作用,因为在我执行交换时,它们根本没有被读取。我通过一些远程调试确认了这一点,甚至更改了连接字符串在插槽中连接到一个不存在的DB,我仍然能够建立连接。此外,在交换之后,我可以在每个插槽中看到web.configs,并且它们确实具有向后的连接字符串。编辑:在运行时,我的连接字符串有点不稳定。当我部署到插槽时,DB连接字符串被用于连接到数据库出于某种原因,SQL数据库是在web.config中为实体框架生成的数据库,而不是实际的SQL连接字符串。由于EF字符串中嵌入了SQL字符串,所以它可以使用该字符串进行连接。如上所述,我已经这样做了。连接字符串仍在与代码的其余部分交换。相同的ha谢谢。所有应用设置和连接字符串。请确保点击页面顶部的“保存”,而不仅仅是“确定”