OracleConnection: что такое Clearpool, Dispose и Close? - PullRequest
0 голосов
/ 11 июня 2018

Я хотел бы понять, что Clearpool, Dispose, Close делают в OracleConnection?

После возникновения исключения я хотел бы избавиться от текущего соединения и создать полностью новое соединение с той же строкой соединения.Как мне избавиться от старого соединения?

Должен ли я сначала очистить пул или избавиться от соединения?И что делает clearpool против dispose / close?

Мой текущий код похож на ниже:

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

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

1 Ответ

0 голосов
/ 11 июня 2018

Самый простой способ решить эту проблему - создать соединение внутри блока using.Все внутри этого блока будет располагаться всякий раз, когда выполнение блока заканчивается.Кроме того, НЕ оставляйте защелку без действия внутри.Это может закончиться молчаливым исключением, о котором вы не будете знать.

using(OracleConnection conn = new OracleConnection("yourConnStr"))
{
    //ALL YOUR LOGIC INSIDE
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...