【问题标题】:SQL Connection Errors in Microsoft AzureMicrosoft Azure 中的 SQL 连接错误
【发布时间】:2016-04-25 23:43:52
【问题描述】:

我们在 Web API 2.0 代码中实现了实体框架。为了调用数据库实体,我们使用存储过程调用。我们的整个应用程序托管在 Microsoft Azure 云中。这是我们面临的两个例外。

消息:执行命令定义时发生错误。有关详细信息,请参阅内部异常。

InnerException:超时已过期。在操作完成之前超时时间已过或服务器没有响应。尝试连接到 Principle 服务器时发生此故障。

我们面临的另一个例外是:

消息:底层提供程序在打开时失败。

InnerException:连接未关闭。连接的当前状态为正在连接。

注意:代码在 C# Web API 2.0 中。我们正在使用实体框架来调用存储过程。数据库在 SQL Server 2012 中。在 web.config 中,连接字符串如下所示:

  <add name="*****Entities" connectionString="metadata=res://*/Models.Database.*****.csdl|res://*/Models.Database.*****.ssdl|res://*/Models.Database.*****.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=*****;Failover Partner=*****;initial catalog=*****;user id=*****;password=********;MultipleActiveResultSets=True;Pooling=false;Connection Lifetime=2;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

此外,此错误不是连续的,我们猜测这可能发生在网络问题或交通繁忙时。但是我们仍然没有任何明确的理由。

请为我们提供相同的解决方案。

【问题讨论】:

    标签: c# sql-server entity-framework azure asp.net-web-api2


    【解决方案1】:

    对我来说,这看起来像是暂时性故障错误。 您应该使用 EF6(或更高版本)和setup the Execution Strategies

    【讨论】:

    • 瞬态故障错误是什么意思?顺便说一句,我在我的项目中使用 EF 版本 5.0.0.0。
    • 当基于云的应用程序使用其他基于云的服务时,可能会由于间歇性服务、基础设施级故障或网络问题等临时条件而发生错误。很多时候,如果您稍后重试该操作(可能仅几毫秒之后),该操作可能会成功。这些类型的错误情况称为瞬态故障。
    • 感谢@Sascha 提供的信息。那么如何处理或处理这类错误呢?是否有可用的文档或编码/架构指南?每个设置 Azure 的人都面临这样的错误?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多