Я пытаюсь поймать метод в api, который я реализую. Я создал атрибут, основанный на этой статье (http://www.codeproject.com/Articles/682296/Setting-Cache-Control-HTTP-Headers-in-Web-API-Cont).Кэширование Asp. Net Web Api
[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);
}
}
Я звоню непосредственно этот метод из хрома. Но сервер всегда выполняет запрос, и я не могу вернуть сервер Not Notified. Я делаю что-то неправильно?
---------------------------------------------- -----------------РЕДАКТИРОВАТЬ-------------------------------- ------------------------------ это заголовок моего звонка:
Вы проверили заголовки, чтобы увидеть, что Web Api возвращается? – DavidG
@DavidG Я добавил захват заголовков. – jvrdelafuente
Я уверен, что выходное кэширование в веб-API так же просто, как установка заголовка, кто-то уже успел создать библиотеку (https://github.com/filipw/AspNetWebApi-OutputCache), которая поддерживает Это. – James