Exemple #1
0
 public override DataTable GetSchema(string collection)
 {
     return(ConnectionPrimary?.State == ConnectionState.Open
         ? ConnectionPrimary.GetSchema(collection)
         : ConnectionSecondary?.State == ConnectionState.Open
             ? ConnectionSecondary.GetSchema(collection)
             : null);
 }
Exemple #2
0
        private void _tryOpenSecondary()
        {
            if (ConnectionSecondary == null)
            {
                return;
            }
            TimeSpan timeout = TimeSpan.FromSeconds(ConnectionSecondary.ConnectionTimeout);

            _idleTimeTimerSecondary = new Timer(_idleTimeTimerCallback, ConnectionSecondary, timeout, timeout);
            try
            {
                ConnectionSecondary.Open();
            }
            catch { }
        }
Exemple #3
0
 public override void Close()
 {
     if (ConnectionPrimary != null)
     {
         lock (ConnectionPrimary)
         {
             _idleTimeTimerPrimary.Dispose();
             _idleTimeTimerPrimary = null;
             ConnectionPrimary.Close();
             ConnectionPrimary.StateChange -= _connection_StateChange;
         }
     }
     if (ConnectionSecondary != null)
     {
         lock (ConnectionSecondary)
         {
             _idleTimeTimerSecondary.Dispose();
             _idleTimeTimerSecondary = null;
             ConnectionSecondary.Close();
             ConnectionSecondary.StateChange -= _connection_StateChange;
         }
     }
 }