4

如果我使用AppState变量而不是Session变量,我就不会专门​​存储用户数据。也就是说,如果一个用户更改了一个AppState变量,它对于站点上的所有用户都保持更改(它是特定于应用程序的)。

我的问题是,如果我使用缓存存储值以在 asp.net 网页之间传输数据,它是特定于用户的还是特定于应用程序的?我一直认为它是特定于用户的,但是我读到了这个:

缓存主要用于提高网页的性能,因为您可以向其中添加任意对象并随意检索它。缓存项存储在服务器的内存中,可以认为是特殊的全局变量。

(这来自: http: //www.mikesdotnetting.com/Article/192/Transferring-Data-Between-ASP.NET-Web-Pages

知道实际值存储在服务器上后,我开始怀疑对这些值的引用是存储在客户端(如 Session 变量)还是 100% 存储在服务器端。

我自己会对此进行测试,但我的工作环境并不适合我很容易地在不同的机器上“跳跃”。

4

1 回答 1

4

缓存不是用户特定的。它类似于AppState,除了您可以设置缓存中项目的过期时间,并建立依赖关系,例如在文件或 SQL Server 数据库上(尽管您不能通过System.Web.Helpers.WebCache帮助程序完成最后一部分)。

于 2013-04-03T12:32:17.653 回答