.NET / SQL Server中的连接池?

时间:2008-08-11 21:10:33

标签: c# .net sql-server connection-pooling

在使用SQL Server数据库在.NET中开发应用程序时,编写自定义连接池代码是否必要或有利?我知道ADO.NET为您提供了启用/禁用连接池的选项 - 这是否意味着它已内置到框架中而我不需要担心它?为什么人们谈论编写自己的连接池软件,这与ADO.NET中内置的有何不同?

5 个答案:

答案 0 :(得分:14)

ADO.Net内置的连接池非常强大且成熟。我建议不要试图编写自己的版本。

答案 1 :(得分:3)

我不是真正这方面的专家,但我知道ADO.NET有自己的连接池系统,只要我一直在使用它,它就是完美的。

我的反应是重新发明轮子是没有意义的......只要确保你完成它们就关闭你的连接,一切都会好的!

我希望别人可以给你一些更坚定的东西!

答案 2 :(得分:2)

我的理解是在使用SqlConnection对象时会自动为您处理连接池。这是专为与MSSQL配合使用而设计的,可确保有效地汇集连接。你需要确保在完成它们时关闭它们(并确保它们被丢弃)。

我从未听说过有人需要自己动手。但我承认我的经历有点局限。

答案 3 :(得分:1)

随着ADO.Net的出现和更新版本的SQL连接池在两个层上处理,首先通过ADO.Net本身,其次通过SQL Server 2005/2008直接处理,无需自定义连接池。

我被告知正在计划或已经在Oracle和MySQL中实施了类似的支持。

答案 4 :(得分:-2)

嗯,它将会消失,因为所有这些问题的答案都是LINQ。顺便说一句,我们从来没有为我们的任何应用程序需要自定义连接池,所以我不确定所有噪音是什么。