这是我的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" />
这是Azure Web应用程序引发的错误...
因此,这似乎与我提供连接字符串的方式或端点/防火墙配置有关。
其他答案为我提供了寻找解决方案的指南。
我将尝试描述我遵循的步骤:
我的意图是通过将虚拟机放置在虚拟网络中来为具有数据库的VM提供一定级别的安全性,因此我没有考虑开放端口。事实证明,这是必要的,因此在VM中:
我使用Sql Server配置管理器为SQL Server启用了TCP / IP协议(此处的操作方法为?)
然后,我创建了一个新的入站规则,该规则打开了1433端口,但仅用于私人连接(非常好)。
最后一点:在新的Azure门户> Azure Web App>设置中,我能够输入连接字符串。在门户中创建的设置不会被覆盖;因此,现在我确定此Azure Web App将始终使用正确的连接字符串。
最后说明:理论上(尚未测试),只要VM没有停止(取消分配),内部IP就不会更改。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句