ASP.NET中的连接池问题

发布于 2024-10-20 13:16:25 字数 202 浏览 1 评论 0原文

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

i am getting connection pooling error for my asp.net (3.5) application when deployed to the clients server. using a query (from googling) i found out one of my pages alone pumping around 56 connections to the server when it is opened, the page contains a nested gridview and it is having quite a large number of data around 2600 main grid data and n number of data in the child grid, the database in the client is sql server 2000 , what will be max connection pool setting in the web config , is there a way to overcome this problem.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

执笔绘流年 2024-10-27 13:16:25

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

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

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

As @Mitch correcting pointed out, the better solution is not to adjust connection pooling setting up rather re-design your code so that it can work with single connection.

Current obvious issue is that every connection that you open should be closed immediately after your use them. But more than that you should consider below re-factoring:

  1. Try using single connection to get data for main grid and child grids. You might be firing multiple queries (resulting in multiple database trips).
  2. Next obvious step would be to fire multiple queries together or call to single sp that would fetch data for main grid and child grids together so that you reduce database trips to one.
  3. Next obvious step would to question if you need all this data together - for example, are you really planning to show 2600 rows at one time? If not then only fetch what you intend to show using database side paging.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文