嗨,有人可以帮助我找到如何有效地共享数据库连接对象从.net连接池。我的是一个web应用程序,我必须将连接池的大小限制为一个特定的数字(比如20个连接) .so,来自所有客户端浏览器的请求都共享这20个连接。我读到,如果超过20个请求同时到来,其余的请求将被强制等待,直到池中的任何连接被释放。我能有一个更好的方式来管理这个连接吗?我的主要目标是在aim服务器上处理尽可能多的请求,而不会给数据库服务器带来过多的负载。有人能帮帮我吗..。
发布于 2011-11-18 13:55:22
连接将根据连接字符串自动从池中拉出,因此,如果您没有为每个用户(或其他目的)更改连接字符串,那么一旦完成连接,您就可以重用池中的连接(请注意,我描述的是池化代码实现的行为,而不是您必须做或担心的任何事情)。
为了成功地做到这一点,您需要确保您的连接只在您需要它们的时候才打开,并且它们总是总是关闭的(这是一般的建议,不只是针对您的情况)。
如果您发现您正在运行连接池限制,您可以捕获此错误,并告诉用户稍后重试,或者旋转一小段时间,然后再次尝试连接。
发布于 2011-11-18 13:55:40
默认情况下,最大池大小为100,但如果您希望将此数字减少到仅为20,则可以在连接字符串中指定该值。
在您的连接字符串上使用以下参数:
Max Pool Size = 20
Pooling = True您正在将池大小限制为20。
有关ConnectionString的更多详细信息,请参阅See here。
https://stackoverflow.com/questions/8178278
复制相似问题