C# 连接池中的连接消失

C# 连接池中的连接消失,c#,connection-pooling,ado,C#,Connection Pooling,Ado,我正在从中读取连接池。 我面对这句话: 如果存在到已消失的服务器的连接,则 即使连接池程序 未检测到已断开的连接并将其标记为无效。这 这种情况是否是因为检查连接是否正常的开销 如果仍然有效,则会通过导致 将发生到服务器的另一个往返。当这种情况发生时,第一个 尝试使用该连接将检测到该连接已断开 断开,并引发异常 每个人都能解释一下消失的连接吗?为什么连接会消失?不是连接消失了。池连接是已建立的网络连接。现在,在通过连接发送数据之前,可能无法检测到与服务器的连接问题(例如,网络问题) 因此,可能发生

我正在从中读取连接池。 我面对这句话:

如果存在到已消失的服务器的连接,则 即使连接池程序 未检测到已断开的连接并将其标记为无效。这 这种情况是否是因为检查连接是否正常的开销 如果仍然有效,则会通过导致 将发生到服务器的另一个往返。当这种情况发生时,第一个 尝试使用该连接将检测到该连接已断开 断开,并引发异常


每个人都能解释一下消失的连接吗?为什么连接会消失?

不是连接消失了。池连接是已建立的网络连接。现在,在通过连接发送数据之前,可能无法检测到与服务器的连接问题(例如,网络问题)

因此,可能发生以下情况:

  • 连接打开到SQL Server,并添加到池中
  • 网络链接断开(以一种无法立即检测到的方式,例如路由器问题;客户端上的未拔电缆可能会立即被检测到)
  • 应用程序从池中提取池连接后不久
  • 连接返回时就好像服务器是可访问的,因为没有进行任何检查来验证这一点(引用的信息就是关于这一点的)
  • 第一次使用时将引发异常
它说的是一台服务器消失了,而不是一个连接