首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在C#中有效地共享连接池中的数据库连接对象?

如何在C#中有效地共享连接池中的数据库连接对象?
EN

Stack Overflow用户
提问于 2011-11-18 13:46:15
回答 2查看 675关注 0票数 4

嗨,有人可以帮助我找到如何有效地共享数据库连接对象从.net连接池。我的是一个web应用程序,我必须将连接池的大小限制为一个特定的数字(比如20个连接) .so,来自所有客户端浏览器的请求都共享这20个连接。我读到,如果超过20个请求同时到来,其余的请求将被强制等待,直到池中的任何连接被释放。我能有一个更好的方式来管理这个连接吗?我的主要目标是在aim服务器上处理尽可能多的请求,而不会给数据库服务器带来过多的负载。有人能帮帮我吗..。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-18 13:55:22

连接将根据连接字符串自动从池中拉出,因此,如果您没有为每个用户(或其他目的)更改连接字符串,那么一旦完成连接,您就可以重用池中的连接(请注意,我描述的是池化代码实现的行为,而不是您必须做或担心的任何事情)。

为了成功地做到这一点,您需要确保您的连接只在您需要它们的时候才打开,并且它们总是总是关闭的(这是一般的建议,不只是针对您的情况)。

如果您发现您正在运行连接池限制,您可以捕获此错误,并告诉用户稍后重试,或者旋转一小段时间,然后再次尝试连接。

票数 6
EN

Stack Overflow用户

发布于 2011-11-18 13:55:40

默认情况下,最大池大小为100,但如果您希望将此数字减少到仅为20,则可以在连接字符串中指定该值。

在您的连接字符串上使用以下参数:

代码语言:javascript
复制
Max Pool Size = 20
Pooling = True

您正在将池大小限制为20。

有关ConnectionString的更多详细信息,请参阅See here

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8178278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档