首页 > 解决方案 > OracleConnection:什么是 Clearpool、Dispose 和 Close?

问题描述

我想了解OracleConnection中的Clearpool,Dispose​​ ,做什么?Close

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

我应该先清除池还是处理连接?clearpool vs dispose/close 有什么作用?

我当前的代码如下:

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

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

标签: c#oracleexception

解决方案


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

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

推荐阅读