Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET核心工作中的响应缓存在客户端还是服务器端?_C#_Asp.net Core - Fatal编程技术网

C# ASP.NET核心工作中的响应缓存在客户端还是服务器端?

C# ASP.NET核心工作中的响应缓存在客户端还是服务器端?,c#,asp.net-core,C#,Asp.net Core,我是asp.net core的新手,如果我的问题听起来很愚蠢,很抱歉。 我们可以通过以下方式使用响应缓存: //ConfigureServices services.AddResponseCaching(); //Configure app.UseResponseCaching(); 但响应缓存的目的不是要在响应中添加缓存控件头,以便客户端(浏览器)在本地缓存此响应。那么,为什么不将头手动添加到httpcontextas中呢 context.Response.Headers[“缓存控制”]=

我是asp.net core的新手,如果我的问题听起来很愚蠢,很抱歉。 我们可以通过以下方式使用响应缓存:

//ConfigureServices
services.AddResponseCaching();

//Configure
app.UseResponseCaching();
但响应缓存的目的不是要在响应中添加
缓存控件
头,以便客户端(浏览器)在本地缓存此响应。那么,为什么不将头手动添加到
httpcontext
as中呢
context.Response.Headers[“缓存控制”]=“公共,最大年龄=120”
为什么要大惊小怪地使用专用的响应缓存中间件

但是响应缓存的目的不就是添加一个缓存控件吗 响应中的标头,以便客户端(浏览器)缓存此 本地响应

据我所知,在API请求和API响应中都可以有缓存控制头。API请求中的缓存控制头告诉服务器是否应该从缓存提供响应。一个是API响应告诉客户机是否应该本地缓存响应。看

关于ASP.NET核心中的响应缓存中间件:

响应缓存中间件仅对API请求起作用-它检查是否存在缓存控制头,并根据值尝试为来自缓存的响应提供服务。换句话说,它不会将缓存控制头添加到API响应中,它只考虑API请求中的缓存控制头。根据:

中间件确定响应何时可缓存、存储 响应,并为来自缓存的响应提供服务


您可以在中间件实现中验证此行为

为什么这么大惊小怪
它看起来不太大惊小怪。