如何在ASP .NET MVC 2.0中使用数据缓存

时间:2011-10-05 02:36:14

标签: asp.net asp.net-mvc caching

我想在我的Web应用程序的所有用户之间共享一个Queue数据结构,而不使用任何数据库。我希望这些数据始终可用,并且所有用户之间都是线程安全的。缓存是一个好主意吗?我尝试通过调用:

来使用System.Web.Caching
Queue<int> users= new Queue<int>();

Context.Cache.Insert("users", users, null,  Cache.NoAbsoluteExpiration, Cache.NoSlidingExpiration);

在我的Global.axax文件中,但是当我在.cs文件中调用缓存时:

( (Queue<int>) Cache["users"] ).Enqueue( newUser);

我收到以下错误:

'System.Web.Caching.Cache' is a 'type' but is used like a 'variable'    

我是否正确使用缓存?

谢谢!

1 个答案:

答案 0 :(得分:4)

Controller类没有像ASP.NET Web窗体页面类那样的Cache属性。您需要从HttpContext属性中引用它。

((Queue<int>)HttpContext.Cache["users"]).Enqueue( newUser );