Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 处理间歇性SQL超时/网络错误_C#_Sql Server_Asp.net Mvc_Entity Framework_Sql Server 2008r2 Express - Fatal编程技术网

C# 处理间歇性SQL超时/网络错误

C# 处理间歇性SQL超时/网络错误,c#,sql-server,asp.net-mvc,entity-framework,sql-server-2008r2-express,C#,Sql Server,Asp.net Mvc,Entity Framework,Sql Server 2008r2 Express,我正在开发一个连接到MS SQL Server 2008 R2的MVC应用程序。开发服务器是快速版本-我不知道这是否是一个促成因素 当我从VisualStudio运行应用程序(因此它会在Chrome中打开)时,连接到SQL Server时会出现间歇性错误 错误,例如: 信号量超时时间已过期 基础提供程序在打开时失败 这是我的连接字符串(在公开发布之前,我更改了其中的几个单词) 我已经通过谷歌搜索了很多次,但没有发现任何特别有用的东西——我正试图弄清楚,当我的应用程序出现连接错误时,我如何

我正在开发一个连接到MS SQL Server 2008 R2的MVC应用程序。开发服务器是快速版本-我不知道这是否是一个促成因素

当我从VisualStudio运行应用程序(因此它会在Chrome中打开)时,连接到SQL Server时会出现间歇性错误

错误,例如:

  • 信号量超时时间已过期
  • 基础提供程序在打开时失败
这是我的连接字符串(在公开发布之前,我更改了其中的几个单词)


我已经通过谷歌搜索了很多次,但没有发现任何特别有用的东西——我正试图弄清楚,当我的应用程序出现连接错误时,我如何让它重试一次,而不是失败,因为它几乎总是在第二次尝试时工作

有没有关于从哪里开始的建议?作为一名管理员,我没有权限搞乱服务器,但如果这是解决这个问题的地方,我可能可以与管理员协调


我认为这可能与在本地运行应用程序有关——数据库位于离我所在位置几英里远的服务器上。将应用程序部署到服务器后,应用程序将与数据库在同一物理机箱上运行。但我觉得这还不够好,不能假设一切都会好起来——我不想带着这种假设去生产,只是为了发现我错了……

有什么理由不通过重试块来处理间歇超时?如果实际上您的数据库可能是非地理位置的,那么IP延迟和其他网络异常很可能会偶尔干扰您的连接能力


作为一个类似的示例,连接到SQL Azure数据库的标准做法是始终在重试块中连接,主要是由于节流原因,而不是网络故障,但以这种方式处理间歇性故障是非常常见的做法。

thanos是您的本地计算机名还是网络名?thanos是承载sql server的服务器的名称如果您有EF6,可以查看一下。请确保您的数据库未设置为自动关闭,这会使连接时间大大增加。这就是我想做的-我不知道如何做-我找到的所有示例都是关于SQL Azure的,我在将其应用于非Azure时遇到了问题…好的,那么我建议您感谢您!我会调查的。重新启动本地路由器似乎解决了我的大部分问题,但我想让我的页面能够更好地处理它遇到的任何问题。。。
<add name="[MyEntities]" 
    connectionString="metadata=res://*/Models.[publicword].csdl|res://*/Models.[publicword].ssdl|res://*/Models.[publicword].msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=thanos;initial catalog=[DatabaseName];Integrated Security=SSPI;multipleactiveresultsets=True;application name=EntityFramework&quot;"
    providerName="System.Data.EntityClient" />