0

我有一个部署到 Azure Web App 的 webapp。在 webapp 中,我使用MembershipReboot和实体框架。Sql Server 数据库也在 Azure 中。

它通过 BitBucket 集成和持续部署在暂存槽中进行部署。

作为构建过程的一部分,web.config 转换将连接字符串值更改为“dummy”。

我在 Azure 门户中将其设置为名为 MembershipReboot 的连接字符串。

当我浏览到应用程序时,我收到此错误:

Format of the initialization string does not conform to specification starting at index 0.

如果我将 web.config 中的连接字符串更改为 Sql Azure 连接字符串,则应用程序加载正常。如果我将其设置回“虚拟”,那么我会收到上述错误。

这向我表明 Azure 门户中设置的连接字符串没有被应用程序拾取。

我使用 ARM 模板部署创建了这个 Azure 环境,并混合了一些 Azure powershell 命令。我也尝试过手动创建环境,但遇到了同样的问题。

关于接下来要看什么的任何想法?

编辑:只是说,正确的连接字符串在 Kudu 中是可见的。

4

1 回答 1

0

设法解决了这个问题。

这是由于在环境提供正确的连接字符串之前调用了 StructureMap 并创建了数据库上下文(通过 global.asax)。

在我们的例子中,应用程序混合了 Owin 启动和 global.asax Application_Start,我们必须将 global.asax 启动移动到 Owin 启动中,并且不允许在该启动期间创建数据库上下文。我怀疑我们可以只做后者。

于 2015-09-09T09:21:28.430 回答