如何在各班之间保持连接字符串有效

时间:2019-03-25 17:55:03

标签: c# connection-pooling

我想在我的C#项目中使用连接池。我知道我可以连接到SQL Server,但是当我使用相同的连接字符串时,现金池将起作用。 但是我对此感到怀疑:如何将连接字符串传递给不同的类是最佳实践?我是否应该将连接字符串作为参数传递给使用它的连接方法? (例如,每次需要查询时)

1 个答案:

答案 0 :(得分:0)

ADO.NET具有内置的连接池,您真的无法构建更好的连接池。

当使用连接字符串创建连接时,框架会检查连接池以查看是否具有该连接字符串的连接可用。如果是,则将其从池中拉出并返回给您。否则,它将创建一个新的并将其返回给您。

类似地,当您关闭(处置)连接时,它不会立即被破坏。 当您使用特定的连接字符串关闭连接时,不会立即将其销毁。而是将其释放回连接池。

可以禁用自动连接池,以便您可以推出自己的解决方案,但是不建议这样做。

编辑:

如前所述,我没有在原始答案中回答该问题。

通常,您不会传递连接字符串。而是将它们存储在connectionStrings部分的配置文件中(web.configapp.config)。当您需要连接字符串时,可以使用ConfigurationManager.ConnectionStrings在需要它的方法中检索它。