我已经阅读了一些有关Connection pool
的文章,这些文章为我提供了有关其工作原理的基本知识,但我有一些疑问,我需要一些帮助。
据我这里是sql连接字符串中连接池的实现是:-
Data Source=.\SQLEXPRESS;Initial Catalog=DBName;User Id=sa;password=123456789;MultipleActiveResultSets = True;Connection Lifetime=0;Min Pool Size=0;Max Pool Size=100;Pooling=true;"
Max Pool Size=100
,它将保持100个这样的封闭连接吗?如果您可以帮助我解决上述问题,或者引导我获得内容丰富的文章或视频,这将非常有帮助。
ADO.NET连接池默认情况下处于启用状态,默认连接池设置(例如最大池大小= 100)适合大多数应用程序。有关权威性的答案和详细信息,请参见SqlConnection.ConnectionString和ADO.NET connection pooling文档。
总之,关闭/处置后,连接会返回到池中。这些未使用的池化连接在技术上在SQL Server中不是活动的,但处于休眠状态,等待重用。在空闲时间(几分钟)后未重用的池连接将被物理关闭,以减少服务器和客户端上的资源。连接池自动执行此内部管理。
。NET应用程序中的最佳实践是使用using
块来确保连接在使用后返回到池中,而无需显式关闭它们。