使用提琴手來看看HTTP響應 - 可能是響應頭有:緩存控制:沒有緩存。
它`可能是一個好主意,用Strathweb.CacheOutput.WebApi2代替:如果您在使用則Web API 2
。然後,你的代碼是:
public class ValuesController : ApiController
{
[CacheOutput(ClientTimeSpan = 3600, ServerTimeSpan = 3600)]
public int Get(int id)
{
return new Random().Next();
}
}
其他你可以嘗試使用自定義屬性
public class CacheWebApiAttribute : ActionFilterAttribute
{
public int Duration { get; set; }
public override void OnActionExecuted(HttpActionExecutedContext filterContext)
{
filterContext.Response.Headers.CacheControl = new CacheControlHeaderValue()
{
MaxAge = TimeSpan.FromMinutes(Duration),
MustRevalidate = true,
Private = true
};
}
}
然後
public class ValuesController : ApiController
{
[CacheWebApi(Duration = 3600)]
public int Get(int id)
{
return new Random().Next();
}
}
https://codewala.net/2015/05/25/outputcache-doesnt-work-with-web-api-why-a-solution/ –