public override void BeginRequest(object sender, EventArgs e) { var path = _context.Context.Request.Path; var queryString = _context.Request.QueryString.ToString(); if (_paths.Contains(path) && queryString != string.Empty) { DashCacheItem dashCacheItem = InMemoryDashCacheGateway.Find(InMemoryDashCacheGateway.GenerateKey(path, queryString)); InMemoryDashCacheGateway.SetCurrentDashCacheItem(dashCacheItem); } }
public override void EndRequest(object sender, EventArgs e) { var path = _context.Context.Request.Path; var queryString = _context.Request.QueryString.ToString(); if (_paths.Contains(path) && queryString != string.Empty) { DashCacheItem dashCacheItem = InMemoryDashCacheGateway.GetCurrentDashCacheItem(); if (dashCacheItem != null && dashCacheItem.IsAlreadyCached != true) { dashCacheItem.IsAlreadyCached = true; InMemoryDashCacheGateway.Add(InMemoryDashCacheGateway.GenerateKey(path, queryString), dashCacheItem); } ; } int count = InMemoryDashCacheGateway.GetCacheCount(); //read from threshold in config later, don't have the energy to convert if (count > 5) { InMemoryDashCacheGateway.EvictFirstItemIn(); } }