public void Open() { var count = 0; while (!_safeDbConnection.CancellationToken.IsCancellationRequested) { count++; var stopwatch = new Stopwatch(); try { stopwatch.Start(); Connection.Open(); stopwatch.Stop(); if (stopwatch.ElapsedMilliseconds >= 100) { Log.Trace("SafeDbConnection.Open() finished. {0}, count: {1}, elapsed: {2}", Connection.ConnectionString, count, stopwatch.Elapsed); } break; } catch (Exception e) { _safeDbConnection.HandleException(e, stopwatch.Elapsed); } } }