9

我想问一下System.Web.HttpContext.Current.Cache是每个用户喜欢Sessions还是每个应用程序。在什么情况下使用缓存比较好?

4

4 回答 4

12

HttpContext.Cache 属性 - MSDN

每个应用程序域都有一个 Cache 类的实例。因此,Cache 属性返回的 Cache 对象是应用程序域中所有请求的 Cache 对象。

对于你的问题。

在什么情况下使用缓存比较好?

将该信息保存在 Cache 中,该信息将由多个用户共享,并且(通常)如果其readonly. 例如,将查找值保存在缓存中。你可能会看到:

在 ASP.NET 网页站点中缓存数据以获得更好的性能

于 2013-01-30T11:23:05.173 回答
2

Application当您拥有可重复用于多个用户/会话的数据时,最好使用它。

例如,用户 ID 将存储在Session. 用户的语言或姓名也可以存储在Session.

但是对一组用户或所有用户有用的信息必须存储在Cache.

也看看这个问题

于 2013-01-30T11:21:54.980 回答
2

只有一个缓存对象per key值与session用户个人不同。
因为它是一个集合,所以你可以有多个缓存变量。
在 asp.net 中有不同风格的缓存可用。
这是一个msdn链接

http://msdn.microsoft.com/en-us/library/ms178597%28v=vs.100%29.aspx

于 2013-01-30T11:41:51.133 回答
0

缓存在应用程序的上下文中是全局的。谁存储或访问它们并不重要——只要他们知道如何这样做。例如,它对于保存每个用户可以相同的数据很有用。

于 2013-01-30T11:22:40.570 回答