我的问题与SO上的这个问题非常相似,但不完全一样。
当我在本地连接到我的天蓝色数据库时,它运行完美。但是当我部署到 Azure 时,它似乎无法连接到数据库。我首先使用的是 Entity Framework 5 代码,并且我还在 EF 5 参考上设置了 copy local:true。
这些是我的连接字符串:
<add name="api" connectionString="
Server=tcp:[hidden].database.windows.net,1433;Database=API;
User ID=[hidden]@[hidden];
Password=[hidden];Trusted_Connection=False;
Encrypt=True;Connection Timeout=30;
PersistSecurityInfo=True;" providerName="System.Data.SqlClient" />
<add name="Membership" connectionString="
Server=tcp:[hidden].database.windows.net,1433;
Database=Membership;User ID=[hidden]@[hidden];
Password=[hidden];Trusted_Connection=False;
Encrypt=True;Connection Timeout=30;
PersistSecurityInfo=True;" providerName="System.Data.SqlClient"/>
我添加了
<customErrors mode="Off"/>
在我的 web.config 文件中,所以我可以看到堆栈跟踪,这些是我得到的异常:
[TargetInvocationException: Exception has been thrown by the target of an invocation.]
[InvalidOperationException: The ASP.NET Simple Membership database could not be initialized. For more information, please see http://go.microsoft.com/fwlink/?LinkId=256588]
[ProviderIncompatibleException: An error occurred while getting provider information from the database. This can be caused by Entity Framework using an incorrect connection string.
读取堆栈跟踪时,可以确定问题是我无法初始化成员数据库。这必须是 Azure 部署问题,但我似乎无法弄清楚..
编辑:
API 数据库现在正在工作,但成员资格给出了同样的错误。我将网站缩放为保留而不是共享。不知道会不会有什么影响。
固定的:
嗯,这很奇怪.. 突然网站与两个数据库都有连接。没有做任何其他将服务器从共享更改为保留..