ASP.NET:每个用户的缓存

ASP.NET:每个用户的缓存,asp.net,caching,Asp.net,Caching,使用ASP.NET,我将数据放入特定于用户的缓存中。该站点使用Windows身份验证: HttpContext.Current.Cache.Insert(....) 此缓存是否仅对用户可用,或者任何使用相同密钥请求缓存的用户是否会获得相同的数据?缓存是全局的,因此每次使用都将通过站点访问相同的资源。如果需要会话持久用户数据,可以查看会话。缓存是全局的,因此每个用户都可以通过站点访问相同的资源。如果需要会话持久用户数据,您可以查看会话。您可以将用户名作为密钥的一部分,例如“Joe.CacheKe

使用ASP.NET,我将数据放入特定于用户的缓存中。该站点使用Windows身份验证:

HttpContext.Current.Cache.Insert(....)

此缓存是否仅对用户可用,或者任何使用相同密钥请求缓存的用户是否会获得相同的数据?

缓存是全局的,因此每次使用都将通过站点访问相同的资源。如果需要会话持久用户数据,可以查看会话。

缓存是全局的,因此每个用户都可以通过站点访问相同的资源。如果需要会话持久用户数据,您可以查看会话。

您可以将用户名作为密钥的一部分,例如“Joe.CacheKey1”。解析密钥将由您决定

使用缓存而不是会话的一些原因:

  • 会话被禁用
  • 会话的过期策略不满足您的需要,但缓存满足您的需要
  • 您需要利用会话不具备的缓存的某些功能,例如在项目逐出时执行操作,在内存紧张时自动逐出等

  • 使用缓存而不是会话的一个不好的原因是您不知道会话存在。

    您可以将用户名作为密钥的一部分,例如“Joe.CacheKey1”。解析密钥将由您决定

    使用缓存而不是会话的一些原因:

  • 会话被禁用
  • 会话的过期策略不满足您的需要,但缓存满足您的需要
  • 您需要利用会话不具备的缓存的某些功能,例如在项目逐出时执行操作,在内存紧张时自动逐出等

  • 使用缓存而不是会话的一个错误原因是您不知道会话存在。

    如果缓存是用户特定的,则称为会话。如果缓存是用户特定的,则称为会话。另一个原因:会话可能要求对象可序列化,并且大对象会被发送到数据库或其他进程,这很慢。会话只能在InProc模式下使用。另一个原因是:会话可能要求对象可序列化,而大对象会被发送到DB或其他进程,这很慢。会话只能在InProc模式下使用。敏感数据呢?根据敏感数据的情况,不建议对敏感数据使用会话?根据,不建议对敏感数据使用会话