【问题标题】:Connection Pooling in .NET/SQL Server?.NET/SQL Server 中的连接池?
【发布时间】:2010-09-05 17:05:45
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      希望其他人能给你一些更坚定的答案!

      【讨论】:

        【解决方案3】:

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

        我从未听说过有人需要自己滚动。但我承认我的经验有限。

        【讨论】:

          【解决方案4】:

          随着 ADO.Net 的出现,较新版本的 SQL 连接池在两层上进行处理,首先通过 ADO.Net 本身,其次通过 SQL Server 2005/2008 直接处理,从而消除了对自定义连接池的需要。

          我已获悉,出于兴趣,正在计划或已在 Oracle 和 MySQL 中实施类似的支持。

          【讨论】:

            【解决方案5】:

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-02-23
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多