我有一个部署到Azure Web App的webapp。在webapp中,我正在使用MembershipReboot和Entity Framework。 Sql Server数据库也在Azure中。
它通过BitBucket集成和持续部署在临时插槽中进行部署。
作为构建过程的一部分,web.config transfrom将连接字符串值更改为" dummy"。
我在Azure门户中设置了名为MembershipReboot的连接字符串。
当我浏览应用程序时,出现此错误:
Format of the initialization string does not conform to specification starting at index 0.
如果我将web.config中的连接字符串更改为Sql Azure连接字符串,则应用程序可以正常加载。如果我把它设置回" dummy"然后我得到了上述错误。
这向我表明,Azure门户中设置的连接字符串未被应用程序接收。
我使用ARM模板部署创建了这个Azure环境,并与一些Azure powershell命令混合使用。我也尝试过手工创建环境,同样的问题。
关于下一步要看什么的任何想法?
编辑:只是说,在Kudu中可以看到正确的连接字符串。
答案 0 :(得分:0)
管理解决此问题。
这是由于在环境提供正确的连接字符串之前调用StructureMap并创建数据库上下文(通过global.asax)。
在我们的案例中,应用程序混合了Owin启动和global.asax Application_Start,我们不得不将global.asax启动移动到Owin启动,并且不允许在启动期间创建数据库上下文。我怀疑我们可以完成后者。