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 void InMemoryDashCacheManagerCanFindTest() { //given string key = "DateFilter=4/24/2015;4/24/2016&DataFilter=AuditType/Complex&SourceOrgType=CMS&Axis=Month,Year&ProductLine/DME 1st Pass"; InMemoryDashCacheManager manager = new InMemoryDashCacheManager(); manager.Add("item1", new DashCacheItem(new object())); manager.Add("item2", new DashCacheItem(new object())); manager.Add(key, new DashCacheItem(new object())); //when DashCacheItem item = manager.Find(key); //then item.Should().Equals(manager.Find(key)); }
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(); } }