示例#1
0
 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));
 }
示例#2
0
        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;
            }
        }