Why would it be a bad idea to have database connection open between client requests?

Posted by AspOnMyNet on Stack Overflow See other posts from Stack Overflow or by AspOnMyNet
Published on 2010-03-16T21:04:29Z Indexed on 2010/03/16 21:11 UTC
Read the original article Hit count: 312

Filed under:
|
|

1) Book I’m reading argues that connections shouldn’t be opened between client requests, since they are a finite resource.

I realize that max pool size can quickly be reached and thus any further attempts to open a connection will be queued until connection becomes available and for that reason it would be imperative that we release connection as soon as possible.

But assuming all request will open connection to the same DB, then I’m not sure how having a connection open between two client requests would be any less efficient than having each request first acquiring a connection from connection pool and later returning that object to connection pool?

2) Book also recommends that when database code is encapsulated in a dedicated data access class, then method M opening a database connection should also close that connection.

a) I assume one reason why M should also close it, is because if method M opening the connection doesn’t also close it, but instead this connection object is used inside several methods, then it’s more likely that a programmer will forget to close it.

b) Are there any other reasons why a method opening the connection should also close it?

thanx

© Stack Overflow or respective owner

Related posts about ADO.NET

Related posts about design-patterns