这是我的Azure配置:
我将主要的MVC WebApp部署到空的Azure Web App并且看起来不错,除非它试图从数据库中检索信息。
是连接字符串错误吗?或者还有别的东西......
我的连接字符串如下所示:
<add name="MyEntities" connectionString="metadata=res://*/Data.MyModel.csdl| res://*/Data.MyModel.ssdl| res://*/Data.MyModel.msl;provider=System.Data.SqlClient;
provider connection string="
data source=tcp:10.0.1.4;
initial catalog=MyDataBase;
persist security info=False;
user id=MySystemAdmin;
password=SystemAdminPassword;
multipleactiveresultsets=True;
App=EntityFramework""
providerName="System.Data.EntityClient" />
以下是天蓝网络应用程序抛出的错误...
所以它似乎与我提供连接字符串或端点/防火墙配置的方式有关。
答案 0 :(得分:3)
针对Entity Framework设计器文件(https://msdn.microsoft.com/en-us/data/jj556606.aspx#Connection)
的此连接字符串检查连接字符串从快速浏览一下,我发现了两个可能的错误:
不确定这是否是问题,或者StackOverflow是否只是破坏了你的标记。另外,你谈论了很多网关,所以我会检查以确保你可以在你的系统之间进行交谈。最后发布错误消息并捕获有关实际发生情况的异常将有助于诊断错误,因为此时所有猜测都是如此。
希望有所帮助。
答案 1 :(得分:1)
上面提到的那些人加上:
答案 2 :(得分:0)
其他答案给了我指导,以找出解决方案。
我将尝试描述我遵循的步骤:
我的目的是为VM提供一定程度的安全性 数据库放在虚拟网络中,所以我没有 考虑开放港口。事实证明它是必要的,因此,在VM中:
我使用Sql Server配置管理器启用了SQL Server的TCP / IP协议(如何?here)
然后我创建了一个新的入站规则,打开了1433端口,但仅用于私人连接(非常好)。
最后的触摸:在新的Azure门户中&gt; Azure Web App&gt;设置,我能够输入连接字符串。在门户中创建的设置不会被覆盖;所以现在我确定这个Azure Web App将始终使用正确的连接字符串。
最后注意事项:理论上(尚未测试)只要VM未停止(取消分配),内部IP就不会改变。