/// <summary>
        /// </summary>
        /// <param name="name">Identifier for the desired cache.  Caches with the same name target the same underlying storage.</param>
        /// <param name="expirationPeriod">Time in seconds for which a cached entry is good</param>
        /// <param name="capacity">Maximum number of entries in the cache</param>
        public HttpCache(string name, int expirationPeriod, int capacity)
        {
            this.Name = name;
            this.ExpirationPeriod = expirationPeriod;
            this.Capacity = capacity;
            this.metadata = new CacheMetadata(this);
            CacheCalls = 0;
            CacheHits = 0;
            CacheMisses = 0;
            CacheExpirations = 0;
            CacheEvictions = 0;

            reportingTimer = new Timer(new TimerCallback(CacheReportTrigger), null, new TimeSpan(0, 1, 0), new TimeSpan(0, 1, 0));
        }