Ejemplo n.º 1
0
 internal void RefreshCounters(bool updateDatabases, bool updateStatistics)
 {
     if (updateDatabases)
     {
         IEnumerable <MailboxDatabase> enumerable;
         if (MailboxDatabase.TryDiscoverLocalMailboxDatabases(out enumerable))
         {
             this.currentDatabases = enumerable;
         }
         else
         {
             this.lastMailboxDatabaseNameRefresh = DateTime.MinValue;
             Log.LogErrorMessage("Unable to discover any mailbox databases in AD for the '{0}' server.", new object[]
             {
                 Environment.MachineName
             });
         }
     }
     if (updateStatistics && this.currentDatabases != null)
     {
         Dictionary <MailboxDatabase, List <MailboxDatabaseCalculatedCounters.DiagnosticMeasurementValue> > dictionary;
         if (MailboxDatabaseCalculatedCounters.TryCreateCounters(this.currentDatabases, out dictionary))
         {
             this.currentCounters = dictionary;
         }
         else
         {
             this.lastStatisticsRefresh = DateTime.MinValue;
             Log.LogErrorMessage("Unable to create counters.", new object[0]);
         }
     }
     this.doingWork = false;
 }
        private IEnumerable <MailboxDatabase> GetAllDatabasesOnLocalServer()
        {
            IEnumerable <MailboxDatabase> enumerable = this.allDatabasesOnLocalServer;

            if ((enumerable == null || DateTime.UtcNow - this.lastMailboxDatabaseRefreshTime >= this.databaseRefreshFrequency) && MailboxDatabase.TryDiscoverLocalMailboxDatabases(out enumerable))
            {
                this.lastMailboxDatabaseRefreshTime = DateTime.UtcNow;
            }
            return(enumerable);
        }