Using the ASP.NET Cache outside of ASP.NET
http://www.hanselman.com/blog/UsingTheASPNETCacheOutsideOfASPNET.aspx
http://weblogs.asp.net/pjohnson/archive/2006/02/06/437559.aspx
Bottom Line:
HttpRuntime.Cache is the recommended technique.
Calling the HttpContext does some additional look-ups as it has to resolve the current context relative to the running thread.
I discovered another *great* reason to use HttpRuntime too, when writing my unit tests - HttpRuntime.Cache is always available, even in console apps like nunit!