Sql server 连接池可以同时为多个事务提供相同的连接吗?

Sql server 连接池可以同时为多个事务提供相同的连接吗?,sql-server,asp.net-web-api,transactions,transactionscope,connection-pool,Sql Server,Asp.net Web Api,Transactions,Transactionscope,Connection Pool,在WebAPI应用程序中,我们使用SQL server的存储库模式。我们得到下面的连接错误 已存在与此命令关联的打开的DataReader 必须先关闭它 无效操作。连接是 关闭 ExecuteReader需要打开且可用的连接。连接的当前状态为“正在连接” 是否可以在连接池中共享连接 我们同时打开多个连接有关MARS和重复使用的连接,请参阅下面的链接 “由于MARS可以在多个并发操作试图访问数据库时提高性能,因此可以重用现有的开放连接。” 池连接在重新使用时重置。这些错误提示您可能有不同的线程使

在WebAPI应用程序中,我们使用SQL server的存储库模式。我们得到下面的连接错误

  • 已存在与此命令关联的打开的DataReader 必须先关闭它
  • 无效操作。连接是 关闭
  • ExecuteReader需要打开且可用的连接。连接的当前状态为“正在连接”
  • 是否可以在连接池中共享连接


    我们同时打开多个连接

    有关MARS和重复使用的连接,请参阅下面的链接


    “由于MARS可以在多个并发操作试图访问数据库时提高性能,因此可以重用现有的开放连接。”

    池连接在重新使用时重置。这些错误提示您可能有不同的线程使用相同的连接。您是使用自己的连接池还是使用
    static
    modifier?感谢您的回复,我如何才能找到不同线程是否使用相同的连接?我们正在使用整洁的fo连接。很抱歉,我无法理解“您是否正在运行自己的连接池”,我们正在使用Azure SQL server。我们没有使用静态修饰符。是否与MultipleActiveResultSets有任何关系,因为在我们的项目中,我们将其设置为True。如果我理解正确,您已经自行创建了连接池。SQL Server和.Net管理一个高效且线程安全的内部连接池,因此您无需创建另一个连接池。