【发布时间】:2019-09-26 03:23:54
【问题描述】:
是否可以在服务器端缓存一旦产生的响应,然后重新传递它以响应相同的请求? 让我解释: 我有一个 endloint 需要大约 5 秒来生成响应 - 这包括进入数据库并获取数据、处理它、对其执行一些计算、重新实现和压缩响应 - 整个过程需要 5 秒。 第一次完成此操作后,我希望结果可用于来自所有用户的所有请求。 在我看来,客户端缓存,当您将结果缓存在客户端并且在一段时间内根本不访问服务器时,或者当您访问服务器但获得 304 未更改而不是数据时不够好。 我想要的是点击服务器,如果这个端点(具有相同的参数集)已经被任何人调用,那么得到完整的响应。有可能吗?
【问题讨论】:
-
这只是一个内存缓存,它有助于将记录保存在内存中,但不会缓存确切的响应(序列化和压缩)
-
看看创建你自己的
ActionFilter
标签: c# caching asp.net-web-api server http-caching