.NET中数据库连接中的Singleton模式
在我的项目中有疑问,数据库连接对象是通过Singleton模式创建的,因为打开和关闭连接是沉重的操作,但我怀疑我们不应该处理该对象,因为关闭连接Frees Frees Memory的使用是什么用来使其保持生存
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
在我的项目中有疑问,数据库连接对象是通过Singleton模式创建的,因为打开和关闭连接是沉重的操作,但我怀疑我们不应该处理该对象,因为关闭连接Frees Frees Memory的使用是什么用来使其保持生存
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(2)
确切地说, 保持与数据库服务器的连接。所有DB客户端[ADO.NET,ODBC,JDBC等]支持
连接池
机制。您最好依靠它并适当地使用它,而不是将单身连接对象保留到数据库中。Exactly, there is no point in holding onto a connection to your db server. All DB clients[ADO.NET, ODBC, Jdbc,etc] support
connection pool
mechanism. You are better off to rely on that and use that properly, than to keep a singleton connection object to your database.好像仿佛没有正确实现单身人士,那么一个线程可以处理连接,但是另一个线程可以尝试执行某些命令。
有当您调用
新的SQLConnection()
condect> connection.open()时,最好创建新连接以利用连接池。
It is not good idea as if singleton is not correctly implemented, then one thread can dispose the connection, however the another thread can try to execute some command.
There is connection pooling when you call
new SqlConnection()
orconnection.Open()
So it is better to create new connection to take advantage of connection pooling.