首先我拔掉了网线。
然后,我尝试使用 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 秒。