首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在ASP.NET MVC中为认证用户关闭输出缓存?

如何在ASP.NET MVC中为认证用户关闭输出缓存?
EN

Stack Overflow用户
提问于 2010-01-21 22:31:26
回答 3查看 4.6K关注 0票数 15

我有一个ASP.NET MVC应用程序。我需要缓存一些页面,但是,对于未经认证的用户,只有

我尝试在下面的GetVaryByCustomString实现中使用VaryByCustom="user"

代码语言:javascript
复制
public override string GetVaryByCustomString(HttpContext context, string custom)
{
  if (custom == "user")
  {
      if (context.User.Identity.IsAuthenticated)
      {
        return context.User.Identity.Name;
      }
      else
      {
        return "";
      }
  }  

  return base.GetVaryByCustomString(context, custom);
}

然而,这并不是我所需要的,因为页面仍然被缓存。唯一不同的是,现在为每个用户单独缓存。

一种可能的解决方案是每次用户通过身份验证时都返回Guid.NewGuid(),但在我看来这是对资源的巨大浪费。

你有什么建议给我吗?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2109928

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档