拔下网线时 SQL 连接不会快速超时



首先我拔掉了网线。

然后,我尝试使用 SqlClient.SqlConnection 对象和未指定连接超时(因此默认为 15 秒)的连接字符串从 C# 中连接到 SQL Server:Integrated Security=SSPI;Persist Security Info=False;Data Source=MYSERVER;Database=MYDB"

或者指定超时的连接字符串,甚至更短,为 5 秒:"Integrated Security=SSPI;Persist Security Info=False;Data Source=MYSERVER;Database=MYDB;Connect Timeout=5"

无论哪种方式,对connection.Open的调用都会在 42 秒后返回,并出现我的超时错误。 如果我早点重新插入网线,我可以更快地引发错误。 为什么连接超时不起作用? 这在某处记录了吗? 有没有办法解决它?

Connect Timeout仅在能够解析服务器并等待连接时才适用。

根据 MSDN,Connect Timeout是在终止尝试并生成错误之前等待与服务器连接的时间长度(以秒为单位 - 默认值为 15)。

注意:
5 秒太短,网络硬件无法检测到网络是否可用。不应少于 10 秒。

相关内容

  • 没有找到相关文章

最新更新