asp.net中的连接池问题

时间:2011-03-08 04:42:38

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

部署到客户端服务器时,我的asp.net(3.5)应用程序出现连接池错误。使用查询(来自谷歌搜索)我发现我的一个页面单独抽取56个连接到服务器打开时,该页面包含一个嵌套的网格视图,它有大量的数据围绕2600主网格数据和n子网格中的数据数量,客户端中的数据库是sql server 2000,web配置中的最大连接池设置是什么,有没有办法克服这个问题。

1 个答案:

答案 0 :(得分:1)

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

目前显而易见的问题是,您打开的每个连接都应在使用后立即关闭。但更重要的是,你应该考虑下面的重新分解:

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