我正在尝试在我正在实现的api中捕获一个方法。我创建了一个基于本文的属性(http://www.codeproject.com/Articles/682296/Setting-Cache-Control-HTTP-Headers-in-Web-API-Cont)。
[Route("")]
[CacheControl(MaxAge = 160)]
public IEnumerable<Club> GetAll()
{
return _clubService.GetAll();
}
该属性的代码是:
public class CacheControlAttribute : ActionFilterAttribute
{
public int MaxAge { get; set; }
public CacheControlAttribute()
{
MaxAge = 160;
}
public override void OnActionExecuted(HttpActionExecutedContext context)
{
context.Response.Headers.CacheControl = new CacheControlHeaderValue
{
Public = true,
MaxAge = TimeSpan.FromSeconds(MaxAge)
};
base.OnActionExecuted(context);
}
}
我直接从chrome调用此方法。但是服务器始终在执行查询,我无法让服务器返回“未修改”。我做错了吗?
-------------------------------------------------- - - - - - - -编辑 - - - - - - - - - - - - - - - - - - --------------------------这些是我电话的标题:
Web API当前不支持输出缓存,但是,已经有人麻烦建立一个完全满足您需要的库-AspNetWebApi-OutputCache。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句