我想在我的C#项目中使用连接池。我知道我得到了与SQL服务器的连接,而我使用相同的连接字符串,现金池将起作用。但是我怀疑:通过我的不同类传递连接字符串的最佳做法是什么?我应该将连接字符串作为参数传递给使用它连接的方法吗? (例如,每次我需要进行查询)
ADO.NET具有内置的连接池,您无法真正构建更好的连接池。
使用连接字符串创建连接时,Framework会检查连接池以查看与该连接字符串的连接是否可用。如果是,它将它从池中拉出并将其返回给您;否则,它会创建一个新的并将其返回给您。
同样,当您关闭(处置)连接时,它不会立即被销毁。当您关闭具有特定连接字符串的连接时,它不会立即销毁。相反,它会被释放回连接池。
可以禁用自动连接池,以便您可以推出自己的解决方案,但这是不可取的。
编辑:
正如所指出的那样,我在原来的答案中没有回答这个问题。
通常,您不会传递连接字符串。相反,它们存储在connectionStrings部分的配置文件(web.config
或app.config
)中。当您需要连接字符串时,可以使用ConfigurationManager.ConnectionStrings
在需要它的方法中检索它。