OracleConnection:什么是Clearpool,Dispose和Close?

时间:2018-06-11 17:31:08

标签: c# oracle exception

我想了解ClearpoolDisposeClose在OracleConnection中的作用?

发生异常后,我想摆脱当前连接并使用相同的连接字符串创建一个全新的连接。我应该如何摆脱旧的连接?

首先应该是clearpool还是处理连接?而clearpool vs dispose / close有什么作用?

我目前的代码如下:

public virtual void Dispose()
  {
     try
      {
         _connection.Close();

      }
      catch (Exception e)
      {
      }
      finally
      {
          _connection.Dispose();
          _connection.ClearPool();
          _connection = null;
      }            
  }

1 个答案:

答案 0 :(得分:0)

解决此问题的最简单方法是在using块内创建连接。每当块执行完成时,该块内的所有内容都将被处理。此外,不要留下没有动作的捕获物。这可能会以您不知道的无声异常结束。

using(OracleConnection conn = new OracleConnection("yourConnStr"))
{
    //ALL YOUR LOGIC INSIDE
}