public MetricsFactory(IConfigurationProvider configuration, string application, int cacheLifetimeInSeconds = 600) { _configuration = configuration; _application = string.IsNullOrWhiteSpace(application) ? "app" : application; _configCache = new InprocCache <NameValueCollection>(new TimeSpan(0, 0, cacheLifetimeInSeconds)); _meterCache = new InprocCache <IMeter>(new TimeSpan(0, 0, cacheLifetimeInSeconds)); }
private bool disposedValue = false; // To detect redundant calls protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { var configCopy = _configCache; if (configCopy != null) { _configCache = null; configCopy.Dispose(); } var meterCopy = _meterCache; if (meterCopy != null) { _meterCache = null; meterCopy.Dispose(); } } disposedValue = true; } }