【问题标题】:Connection Disappeared in Connection Pool连接池中的连接消失
【发布时间】:2016-04-16 08:27:07
【问题描述】:

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

如果存在与已消失的服务器的连接,则此 即使连接池程序也可以从池中提取连接 未检测到断开的连接并将其标记为无效。这 是这种情况,因为检查连接的开销是 仍然有效将通过导致消除拥有池的好处 到服务器的另一次往返。发生这种情况时,第一个 尝试使用该连接将检测到该连接已 被切断,并抛出异常。

每个人都可以解释消失的连接吗?为什么连接会消失?

【问题讨论】:

  • 它说服务器消失了,而不是连接

标签: c# connection-pooling ado


【解决方案1】:

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

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

  • 连接已打开到 SQL Server,并被添加到池中
  • 网络链接中断(以无法立即检测到的方式,例如路由器问题;可能会立即检测到客户端上未插入的电缆)
  • 应用程序从池中提取池连接后不久
  • 返回的连接好像服务器是可访问的,因为没有进行检查来验证这一点(这是引用信息的内容)
  • 第一次使用时会抛出异常

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-31
    • 2015-05-02
    • 2013-08-20
    • 2012-04-06
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多