【问题标题】:connection pooling problem in asp.netasp.net中的连接池问题
【发布时间】:2011-07-10 20:24:12
【问题描述】:

我的 asp.net (3.5) 应用程序在部署到客户端服务器时出现连接池错误。使用查询(来自谷歌搜索)我发现我的一个页面在打开时仅与服务器建立了大约 56 个连接,该页面包含一个嵌套的 gridview,并且它有大量的数据,大约 2600 个主网格数据和 n子网格中的数据数量,客户端中的数据库是sql server 2000,web配置中的最大连接池设置是多少,有没有办法克服这个问题。

【问题讨论】:

  • 没有足够的信息来准确回答,除了修复你的代码......即解决真正的原因,而不是症状...
  • 你到底遇到了什么错误?
  • 看看你是否可以在单个连接中获取页面的所有数据并在后面的代码中填充数据网格。
  • @Mitch ,将尽快发布错误的屏幕截图。 @The King ,@Vinay C 的重新设计即将到来,@Vinay 我认为你提出的第三点可能有用

标签: asp.net sql sql-server-2000 connection-pooling


【解决方案1】:

正如@Mitch 更正所指出的,更好的解决方案不是调整连接池设置,而是重新设计您的代码,以便它可以与单个连接一起使用。

当前明显的问题是,您打开的每个连接都应在使用后立即关闭。但除此之外,您还应该考虑以下重构:

  1. 尝试使用单连接获取主网格和子网格的数据。您可能会触发多个查询(导致多次数据库访问)。
  2. 下一个明显的步骤是同时触发多个查询或调用单个 sp 以同时获取主网格和子网格的数据,从而将数据库访问次数减少到一次。
  3. 下一个明显的步骤是质疑您是否需要将所有这些数据放在一起 - 例如,您真的打算一次显示 2600 行吗?如果不是,那么只获取您打算使用数据库端分页显示的内容。

【讨论】:

    猜你喜欢
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    • 2011-04-01
    • 2012-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    相关资源
    最近更新 更多