服务器端响应缓存 (Cloudflare)

问题描述 投票:0回答:1

我们如何在 Cloudflare 中缓存 .NET Core API 的响应?

我将以下属性与需要缓存的控制器操作一起使用,但这使得响应也被缓存在浏览器中。

    `[ResponseCache(Duration = 120, Location = ResponseCacheLocation.Any, NoStore = false)]`
asp.net-core caching cloudflare
1个回答
0
投票

我们如何在 Cloudflare 中缓存 .NET Core API 的响应?

根据您的情况,如果您能分享更多见解就更好了。以便能够进行相应的调查。

但是,一般来说,直接在 .NET Core 中的控制器操作上使用缓存属性会在浏览器以及 Cloudflare 中缓存响应。

首先,在 Cloudflare 设置中启用“Origin Cache Control”。

在您的 .NET Core API 中,在响应中设置适当的 Cache-Control 标头,以指示 Cloudflare 进行缓存行为。

例如,您可以设置

Cache-Control header
来控制 Cloudflare 如何缓存响应。 在控制器操作中,您可以添加
[ResponseCache]
属性以及适当的缓存持续时间和设置。

[HttpGet]
[ResponseCache(Duration = 60)]
public IActionResult Get()
{
   
}

此外,请确保在 API 响应中正确设置 Cache-Control 标头。您可以通过在响应中设置 Cache-Control 标头来做到这一点,如下所示:

Response.Headers.Add("Cache-Control", "public, max-age=60");

注意:参考这个官方文档,这可能对你有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.