处理DB连接中断

本文关键字:中断 连接 DB 处理 | 更新日期: 2023-09-27 18:10:27

我的WCF服务保持DB连接,以便通过它们进一步发送SQL。有时连接会因为各种原因而中断。早些时候有一个特殊的计时器,每1分钟检查一次连接。但这并不是解决问题的好办法。你能告诉我一些方法,以保持连接正常工作,即使重新连接尽快提供用户稳定的服务。谢谢!

编辑:

数据库服务器为Oracle。我正在使用devart dotConnect连接到Oracle数据库服务器。

处理DB连接中断

您不必"保持"数据库连接。把数据库连接的重用和缓存留给。net框架。

只需使用这种代码,并在使用完连接后立即解除连接:

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

在每次调用数据库时执行上面的代码没有问题。连接信息被缓存,第二个到数据库的"新"连接非常快。

要了解更多关于"ConnectionPooling"的信息,您可以阅读这篇MSDN文章。

编辑:

如果使用池连接,则连接不是真正关闭,而是放回到池中。客户端和数据库之间的初始"握手"只在池上的每个连接上进行一次。

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

Read1阅读2