在Azure管理门户中进行设置时,无法使EF连接字符串正常工作?

时间:2015-12-17 15:04:41

标签: entity-framework azure entity-framework-6 azure-sql-database azure-web-sites

我正在使用部署在WebApps,EF6,Azure SQL数据库

上的ASP.NET MVC4

我有两个连接字符串,一个直接连接到数据库,另一个连接在我使用实体框架时需要。如果我通过Azure设置第一个并在web.config中保留EF字符串,一切正常。一旦我尝试将EF连接字符串移动到Azure,它就会中断。

我试图关注如何在Azure管理门户中设置EF连接字符串的所有帖子,建议似乎是使用以下内容:

在管理门户中:

名称:

EFConnectionString

值:

metadata=res://MyModel/model.csdl|res://MyModel/model.ssdl|res://MyModel/model.msl;provider=System.Data.SqlClient;provider connection string="Data Source=tcp:myserver.database.windows.net,1234;Initial Catalog=mydatabase;User ID=Admin@myserver.database.windows.net;Password=12345678"

SQL数据库:

Custom

注意:

" is replaced by " in the Azure string.

在Web.config中,我仍然需要以下内容:

<add name="EFConnectionString" connectionString="" providerName="System.Data.EntityClient"/>

出于安全原因,我已更改了connectionstring中的某些细节,但真正的字符串在Web.config中运行正常。

然而,当我尝试上述内容时,我得到:

The page cannot be displayed because an internal server error has occurred.

进一步记录错误消息:

The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.

任何帮助表示赞赏。我正在尝试这样做以增强存储密码的安全性以访问Azures上的数据库,因为据我所知,通过门户网站设置它们会加密它们。

感谢。

1 个答案:

答案 0 :(得分:1)

首先检查您的部署。我遇到了类似的问题,经过几个小时的努力,我发现我在没有实际发送连接字符串的情况下部署,回到门户配置中的任何内容...... we.config中的其他键是被发送过来,但是conn字符串不是......在我在门户网站上正确设置之后,一切都恢复了正常......