如果我使用AppState
变量而不是Session
变量,我将不会用户专门存储数据。也就是说,如果一个用户更改了AppState
变量,那么对于站点上的所有用户(它都是特定于应用程序),它仍会保持更改状态。
我的问题是,如果我使用缓存存储值来在asp.net网页之间传输数据,它是特定于用户还是特定于应用程序?我一直认为这是用户特定的,但我读到了这个:
缓存主要用于提高性能 网页,您可以向其添加任意对象并进行检索 它会随意。缓存项目存储在服务器的内存中,也可以 被视为特殊的全局变量。
(来自:http://www.mikesdotnetting.com/Article/192/Transferring-Data-Between-ASP.NET-Web-Pages)
知道实际值存储在服务器上,我开始怀疑对这些值的引用是存储在客户端(如使用Session变量)还是它们是100%存储在服务器端。
我会亲自测试一下,但是我的工作环境并不适合我在不同机器上“跳跃”。
答案 0 :(得分:4)
缓存不是特定于用户的。它类似于AppState
,除了您可以设置缓存中项目的到期时间,并建立依赖关系,例如在文件或SQL Server数据库上(尽管您不能通过System.Web.Helpers.WebCache
帮助程序完成最后一部分)。