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