【发布时间】:2011-02-28 07:24:21
【问题描述】:
这是 ASP.NET MVC2 (RTM) System.Web.Mvc.AuthorizeAttribute 类中的当前代码:-
public virtual void OnAuthorization(AuthorizationContext filterContext)
{
if (filterContext == null)
{
throw new ArgumentNullException("filterContext");
}
if (this.AuthorizeCore(filterContext.HttpContext))
{
HttpCachePolicyBase cache = filterContext.HttpContext.Response.Cache;
cache.SetProxyMaxAge(new TimeSpan(0L));
cache.AddValidationCallback(
new HttpCacheValidateHandler(this.CacheValidateHandler), null);
}
else
{
filterContext.Result = new HttpUnauthorizedResult();
}
}
所以如果我被“授权”了,那么做一些缓存的东西,否则抛出一个 401 Unauthorized 响应。
问题:这 3 条缓存线有什么作用?
干杯:)
【问题讨论】:
-
好吧,我猜它正在为 .. 上下文设置一些缓存 .. 这意味着响应。但是,那个年龄是..现在?而且我不知道这个回调是什么/做什么/如何或何时触发。
标签: c# asp.net-mvc caching authorization authorize-attribute