Я думаю, что вы получаете некоторое совпадение имен.Будьте явными и посмотрите, работает ли он:
HttpContext.Current.Cache["KeyName"]="blah blah blah";
Вы также можете сделать следующее в вашем коде ASP.NET:
Page.Cache["KeyName"]="blah blah blah";
или
this.Cache["KeyName"]="blah blah blah";
Cache
обрабатывается ASP.NET, поэтому вам просто нужно использовать его, а не создавать его.
РЕДАКТИРОВАТЬ: В ASP.NET MVC вы можете использовать следующее в вашем контроллере:
HttpContext.Cache["KeyName"]="blah blah blah";