如果连接池打开,那么连接实际上是始终打开的。连接的唯一区别是连接是返回到池中还是正在使用中。关闭它会将其返回到池中,但连接仍处于打开状态。这是正确的吗?如果这是真的,
- 那么我认为在使用连接池时调用 Connection.Dispose() 总是不好的,
由于处置就像破坏连接,实际上您只想将连接返回到池中。下次您使用池中的连接时,它会非常快,因为该连接仍然坚持在池中保持打开连接所需的资源。您不希望来自池的连接重新获取它需要的非托管资源,因为这会降低性能。所以关键是,让 sqlconnection 坚持资源 - 托管或非托管,只要它在池中。这听起来对吗?当我们处置一个对象时,这意味着我们不想重复使用它,但是这里我们打算使用池中的连接,所以为什么要处置它们。