ASP.Net缓存在不同用户会话之间共享吗?

11

如果我在页面中执行以下操作:

Cache["key"] = myObject;

那么缓存的对象是否可供其他用户的请求使用?

3个回答

18

是的。缓存是应用程序级别的,所有用户都在同一个应用程序中。

如果您需要每个用户的缓存,可以使用会话(Session),但那不完全相同。缓存允许框架以与会话不同的方式自动过期项目。如果您希望在每个用户基础上实现缓存行为(不一定是一个好主意),您可以将用户的ID构建到主缓存的键的一部分中。


10

是的,它适用于同一服务器上的所有用户。但是,如果您正在运行一个Farm,则仅对在将数据添加到缓存的服务器上使用该服务器的用户可用。


在同一台服务器上并且在同一个应用程序中。 - François

2

缓存对于每个AppDomain都是有益的。单个应用程序(如Web应用程序)通常保留在单个AppDomain中。但是,缓存无法在诸如Web应用程序和Web服务之间共享。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接