Posts

Showing posts from December, 2009

ASP.NET Cached Items Being Removed

Lately some of the items I've been placing in cache in ASP.NET have been being removed. When I assigned a callback method to trap these removals, I saw that the reason for removal was "underused" -- ASP.NET was removing these items to free up memory because they weren't being used often. To prevent this from happening, use the following value for the priority parameter of Cache.Add() : CacheItemPriority.NotRemovable

HttpRuntime.Cache vs. HttpContext.Current.Cache in ASP.NET

Lately I'd been using the static Current property of the HttpContext object in ASP.NET to access it's Cache property and cache information in a web app. I was adding these cache entries with dependencies, so that when certain files were modified, the cache would trigger a callback function to reload. However, when testing this, I ran into an unforseen complication: when I modified a file I had specified as a dependancy, and the app tried to add the new data to the cache using HttpContext.Current.Cache , it couldn't because there was no current HttpContext . The solution was to use HttpRuntime.Cache instead. This, like HttpContext.Current.Cache , represents the cache of the entire app, but does not require a reference to a current HttpContext . Also, I've heard it's a little bit faster.