如何为Kestrel响应添加no-cache?

时间:2016-05-02 16:58:47

标签: asp.net asp.net-core kestrel-http-server

我使用Asp.Net Core RC2和Kestrel作为我的网络服务器。我需要确保使用no-cache标头响应请求(在这种情况下所有这些请求),以便浏览器获得最新版本(而不是304)。

在Startup中是否有办法配置Kestrel或将此步骤注入管道?

编辑:在我的情况下,no-store可能是更好的选择:https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/http-caching“no-store不允许缓存响应,必须在每次请求时完全获取。”

1 个答案:

答案 0 :(得分:9)

您可以使用中间件来处理标头。例如,您可以通过将以下内容添加到Startup的Configure方法的顶部来强制执行no-cache缓存控制:

app.Use(async (httpContext, next) =>
{
    httpContext.Response.Headers[HeaderNames.CacheControl] = "no-cache";
    await next();
});