(1)我们使用Sql Server(Web Edition)在Azure Web站点上运行Web应用程序.该应用程序包括两个连接字符串
DefaultConnection - 正常连接字符串,格式为
Server=tcp:{my-sql-server}.database.windows.net,1433;Database=...).
EFConnection - 实体框架连接字符串.由于我使用EF设计师(并喜欢它),我需要使用形式的连接字符串metadata=res://*/Models.EDM...
(2)我把连接字符串放在web.config; 这是"元数据..."(EF)连接字符串被接受的唯一方式(当尝试在Azure网站的控制面板中输入这些连接字符串时,我遇到了各种奇怪的错误).
一切都很好.
(3)接下来,我在我们的网站上添加了一个临时插槽来执行分阶段开发,如Microsoft Azure网站上的分阶段部署中所述
分阶段的网站工作正常.我为它创建了一个不同的Sql Server,并以与生产站点相同的方式设置其连接字符串(即在web.config中).我处理不同的web.config使用web.config Transformations.(我有另外两个转换 - 用于开发/调试和本地部署/发布)
问题:现在我有一个生产+暂存网站,我尝试做交换.交换效果很好,引入站点的任何更改都会交换到生产中.
但是,交换还从登台站点获取连接字符串,将生产连接到登台数据库.
*这是一个已知的错误?有解决方法吗? (现在我需要在QA测试分阶段网站后直接部署到生产网站 - 这意味着我们网站的停机时间,并且安静地挫败了整个练习的目的)