【发布时间】:2010-01-21 14:31:25
【问题描述】:
我有一个 ASP.NET MVC 应用程序。我需要为未经身份验证的用户缓存一些页面,但仅。
我尝试将VaryByCustom="user" 与以下GetVaryByCustomString 实现一起使用:
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);
}
但这并不是我所需要的,因为页面仍然被缓存。唯一不同的是 now 是为每个用户单独缓存的。
一种可能的解决方案是每次用户通过身份验证时都返回Guid.NewGuid(),但这对我来说似乎是一种巨大的资源浪费。
那么你有什么建议给我吗?
【问题讨论】: