代码之家  ›  专栏  ›  技术社区  ›  Carl Rippon

ASP。NET Core响应缓存未按预期工作

  •  5
  • Carl Rippon  · 技术社区  · 7 年前

    我正在努力在ASP中获取响应缓存。NET Core 2.0 web API正在运行。

    我在中间件中添加了响应缓存:

    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();
    }
    

    以下是邮递员的请求和回复: enter image description here

    所以,我得到了正确的答案 缓存控件 响应中的http头,但如果我再次从postman发送响应,它仍会在我的操作方法中调用我的代码。我希望它不会调用我的代码并使用缓存的响应。

    我是否误解了响应缓存的工作方式?任何帮助都将不胜感激。

    1 回复  |  直到 7 年前
        1
  •  7
  •   Ahmed Al Jabry    7 年前

    邮递员的问题您必须禁用发送无现金标头(无缓存标头可确保您从服务器获得最新的响应)

    ASP.NET Core 2.0 Web API Response Caching

    enter image description here