【发布时间】:2016-11-04 17:52:52
【问题描述】:
Azure 中托管的应用程序在尝试打开与 Sql 数据库的连接时引发此异常:
引发了一个异常,可能是由于暂时性故障。 如果要连接到 Sql Azure 数据库,请考虑使用 SqlAzure 策略。
我尝试关闭防火墙,但没有成功。
我可以通过 sql management studio 连接到 sql 数据库,但是 web 应用程序不能。
它使用 EF6 连接数据库。 这是引发错误的代码的和平:
var usuario = Db.Usuario.Where(x => x.Login == login).FirstOrDefault();
if (usuario != null && usuario.ProfissionalID.HasValue)
{
usuario.Profissional = Db.Profissional.Where(x => x.ProfissionalID == usuario.ProfissionalID).FirstOrDefault();
}
return usuario;
我在 Microsoft 文章中看到,第一次连接尝试失败时使用 SqlAzureStrategy 尝试重新连接的建议:
public class DbContextConfiguration : DbConfiguration
{
public DbContextConfiguration()
{
SetExecutionStrategy("System.Data.SqlClient",
() => new SqlAzureExecutionStrategy(1, TimeSpan.FromSeconds(30)));
}
}
但这似乎不是我的问题的解决方案,因为当我实现这个时,我收到了这个错误消息:
执行数据库时超出最大重试次数 (1) 使用“SqlAzureExecutionStrategy”进行操作。
【问题讨论】:
-
我的连接字符串:
-
您尝试关闭防火墙是什么意思?你的意思是你将你的IP地址添加到例外中?当您收到错误时,此应用是否在 Azure 中运行?
标签: sql-server azure