1
ASP.NET Core 2.0 웹 API에서 응답 캐싱을 얻으려고 애 쓰고 있습니다. 미들웨어에서ASP.NET 코어 응답 캐싱이 예상대로 작동하지 않습니다.
내가 추가 한 응답 캐싱 :
여기public void ConfigureServices(IServiceCollection services)
{
services.AddResponseCaching();
...
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseResponseCaching();
...
}
내 액션 메소드 코드 : 여기
[ResponseCache(Duration = 30)]
[HttpGet()]
public IActionResult GetLookups()
{
Lookup lookups = dataRepository.GetContactLookups();
}
는 우체부 요청 및 응답의 : 그래서,

I 올바른 답변을 얻으려면 캐시 제어 응답에 http 헤더가 있지만 응답을 보내면 다시 우편 배달부에서 e, 내 작업 방법에서 여전히 내 코드를 호출합니다. 내 코드를 호출하지 않고 캐시 된 응답을 사용하기를 기대했습니다.
응답 캐싱이 작동하는 방식을 오해하고 있습니까? 어떤 도움을 주시면 감사하겠습니다.
멋진 대답을 (노 캐시 헤더를 사용하면 서버에서 신선한 응답을 확인하지 않습니다). 많은 두통을 덜어 줄 것입니다. 브라우저 요청에 no-cache/no-store 헤더가있는 경우 RFC가 캐시에 대해이 동작을 요구하지만 실제로는 ISP 나 CDN과 같은 중간 캐시에 대해서만 의미가 있습니다. 서버가 내용의 소유자이고 내용이 변경되지 않았다는 것을 알고 있으면 서버를 다시 렌더링해야합니다. 다음은이 기본 동작을 끌 수있는 확장 기능입니다. https://github.com/speige/AspNetCore.ResponseCaching.Extensions https://www.nuget.org/packages/AspNetCore.ResponseCaching.Extensions –