2013-10-17 97 views
1

我有一个严重依赖于数据库的项目。基本上,项目中的每个操作都需要对数据库进行查询。在.NET中管理数据库连接 - 保持连接处于活动状态

该项目遵循Three-tier architecture,在我的数据层,我有一个SqlConnection实例作为数据成员与数据库交互。

问题是,有时连接没有明显的原因断开连接。
我的问题是,我怎样才能确保连接保持活着?
目前为止我的一个建议是定期发送“keep-alive-query”。像SELECT 1

我也非常感谢您对可能导致此次定期断开连接的任何见解。

From this SO thread我知道将连接保持为数据成员可能不是最佳实践,但这是目前的情况,我宁愿避免在此时改变它。

回答

2

如果你不能保持连接活着会更好。现代数据库没有必要这样做。当你需要访问数据库时,你应该打开一个连接,一旦你完成,关闭它。

+2

他所说的,再加上:数据库软件将在优化连接方面做得比您可能做得更好。让它做它的工作。 –