Ado.Net - 如何使用连接池?

4

.Net允许连接池,只需在App.config中添加参数即可实现。

问题是,我是否需要在代码中做任何事情来使用连接池? 在我的代码中,每次需要数据时都会打开一个连接,并在完成后立即关闭它。我是否需要做任何特殊的事情来重用连接?

2个回答

9
只要您的连接使用相同的连接字符串,就不需要做任何特殊处理。使用连接、关闭它,将自动返回到池中。
来自SQL Server连接池

连接是按进程、应用程序域、连接字符串和集成安全性(使用 Windows 身份验证时)进行池化的。连接字符串还必须完全匹配;为同一连接提供不同顺序的关键字将被单独池化。

您可以在连接字符串本身中配置某些与池相关的选项:
  • 池化(默认启用)
  • 连接生存期(或负载平衡超时)
  • 注册
  • 最大池大小
  • 最小池大小

是的。默认情况下会使用它们。 - Steve Wellens

3

关键是不要做任何事情来重复使用连接 :) 如果你存储连接并重新使用它,池就会失效。

一个好的模式是利用IDisposable和using。对于ado.net连接类,dispose调用close。如果你这样做,就不会出错。

using (conn = new SqlConnection(...))
{
    // use the connection
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接