C# System.Web.HttpContext.Current.Cache信息

C# System.Web.HttpContext.Current.Cache信息,c#,asp.net,C#,Asp.net,我想问一下,System.Web.HttpContext.Current.Cache是否像Sessions一样是针对每个用户的,还是针对每个应用程序的。在哪种情况下使用缓存比较好?它是根据应用程序使用的,最好在您拥有可供多个用户/会话重用的数据时使用 例如,用户ID将存储在会话中。用户的语言或名称也可能存储在会话中 但对一组用户或所有用户有用的信息必须存储在缓存中 也请看一下。缓存在应用程序的上下文中是全局的。谁存储项目或谁访问项目并不重要,只是他们知道如何这样做。例如,它对于保存每个用户可以相

我想问一下,
System.Web.HttpContext.Current.Cache
是否像
Sessions
一样是针对每个用户的,还是针对每个应用程序的。在哪种情况下使用缓存比较好?

它是根据
应用程序使用的,最好在您拥有可供多个用户/会话重用的数据时使用

例如,用户ID将存储在
会话中。用户的语言或名称也可能存储在
会话中

但对一组用户或所有用户有用的信息必须存储在
缓存中


也请看一下。

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

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

谢谢你的提问

在哪些情况下最好使用缓存

将该信息保存在缓存中,该缓存将由多个用户共享,并且(通常)如果其
为只读
。例如,将查找值保留在缓存中。你可以看到:


每个键只有一个缓存对象
值,这与用户单独使用的
会话不同。
因为它是一个集合,所以您可以有多个缓存变量。
asp.net中提供了不同风格的缓存。
这里有一个msdn链接