Asp.net core 如何为服务器和客户端使用响应缓存

Asp.net core 如何为服务器和客户端使用响应缓存,asp.net-core,asp.net-core-mvc,middleware,asp.net-core-middleware,Asp.net Core,Asp.net Core Mvc,Middleware,Asp.net Core Middleware,我们正在将asp.net MVC应用程序移植到asp.net MVC中的asp.net核心MVC中,我们为一些MVC控制器启用了输出缓存,下面是代码 [OutputCache(Duration = 900, VarByParam ="*", Location ="ServerAndClient")] 我知道响应缓存应该用于asp.net core mvc中的outputcache,但在响应缓存中,位置Enum中没有ServerAndClient的Enum

我们正在将asp.net MVC应用程序移植到asp.net MVC中的asp.net核心MVC中,我们为一些MVC控制器启用了输出缓存,下面是代码

[OutputCache(Duration = 900, VarByParam ="*", Location ="ServerAndClient")]
我知道响应缓存应该用于asp.net core mvc中的outputcache,但在响应缓存中,位置Enum中没有ServerAndClient的Enum值

那么我们应该如何处理这个问题呢。我们是否应该为此编写自己的中间件,或者有一种内置的方法,或者有一个第三方库也可以这样做

那么我们应该如何处理这个问题呢。我们应该自己写吗 这方面的中间件,或者有一种内置的方式,或者有 一个第三方库,它也做同样的事情

是的,您应该将中间件与
UseResponseCaching
一起使用。在
响应缓存位置
中,没有将缓存放在
服务器上的选项。这已在中描述

ASP.NET内核中的响应缓存
响应缓存
减少了客户端代理向web服务器发出的请求数量<代码>响应缓存
还减少了web服务器为生成响应而执行的工作量<代码>响应缓存由指定客户端、代理和中间件缓存响应方式的标题控制

ResponseCache属性参与设置响应缓存头客户端和中间代理应遵守HTTP 1.1缓存规范下缓存响应的头

对于遵循HTTP 1.1缓存规范的服务器端缓存,请使用响应缓存中间件。中间件可以使用
ResponseCacheAttribute
属性来影响服务器端缓存行为。


如何在ASP.NET内核中配置响应缓存中间件