处理DB连接中断

时间:2011-10-04 11:05:13

标签: c# .net database wcf connection

我的WCF服务正在保持数据库连接,以便通过它们进一步发送SQL。有时连接因各种原因而中断。早期有一个特殊的计时器,每1分钟检查一次连接。但问题并不是那么好的解决方案。您能否请一些方法来建议我保持连接正常工作,或者尽快重新连接以提供用户稳定的服务。 谢谢!

修改 数据库服务器是Oracle。我正在使用devart dotConnect for Oracle连接到数据库服务器。

1 个答案:

答案 0 :(得分:4)

您不必“保持”数据库连接。保留数据库连接的重用和缓存到.net框架。

只需使用此类代码,并在完成使用后立即处理连接:

using(var connection = new SqlConnection(...))
{
  //Your Code here
}

对每次调用数据库执行上面的代码都没有问题。连接信息被缓存,与数据库的第二个“新”连接非常快。

要阅读有关“ConnectionPooling”的更多信息,您可以阅读此MSDN Articel

编辑:

如果您使用池,则连接不是非常接近,而是将其放回池中。客户端和数据库之间的初始“握手”仅在池上的每个连接上完成一次。

您正在使用的组件也支持连接池:

Read1 Read 2