Asp.net core 什么';这两个词之间有什么区别;ResponseCache属性";及;ResponseCache中间件“;在asp.net内核中?

Asp.net core 什么';这两个词之间有什么区别;ResponseCache属性";及;ResponseCache中间件“;在asp.net内核中?,asp.net-core,caching,Asp.net Core,Caching,我知道ResponseCache属性可以通过http头属性缓存控件在客户端缓存页面 和ResponseCache中间件,它在服务器上缓存页面(与ResponseCache属性相同的http头) 我比较这些,似乎没有什么不同,相同的特征,相同的条件 服务器端缓存与ResponseCache属性没有区别,它们都不让请求进入控制器操作,或者它们有不同的请求管道 那么,什么样的场景会选择ResponseCache中间件/ResponseCache属性?从文档和源代码中,我们可以找到: 确定响应何时可缓

我知道
ResponseCache属性
可以通过http头属性
缓存控件
在客户端缓存页面

ResponseCache中间件
,它在服务器上缓存页面(与
ResponseCache属性
相同的http头)

我比较这些,似乎没有什么不同,相同的特征,相同的条件

服务器端缓存与
ResponseCache属性
没有区别,它们都不让请求进入控制器操作,或者它们有不同的请求管道


那么,什么样的场景会选择
ResponseCache中间件
/
ResponseCache属性

从文档和源代码中,我们可以找到:

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

指定在响应缓存中设置适当标头所需的参数

它用于配置和创建(通过IFilterFactory)ResponseCacheFilter。ResponseCachFilter执行更新相应HTTP头和响应功能的工作。过滤器:

  • 删除Vary、Cache Control和Pragma的所有现有标头

  • 根据ResponseCacheAttribute中设置的属性写出相应的标头

  • 如果设置了VaryByQueryKeys,则更新响应缓存HTTP功能

有关更多信息,请检查:


从文档和源代码中,我们可以找到:

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

指定在响应缓存中设置适当标头所需的参数

它用于配置和创建(通过IFilterFactory)ResponseCacheFilter。ResponseCachFilter执行更新相应HTTP头和响应功能的工作。过滤器:

  • 删除Vary、Cache Control和Pragma的所有现有标头

  • 根据ResponseCacheAttribute中设置的属性写出相应的标头

  • 如果设置了VaryByQueryKeys,则更新响应缓存HTTP功能

有关更多信息,请检查: