Caching 如何防止WebApi中不必要的数据传输?

Caching 如何防止WebApi中不必要的数据传输?,caching,asp.net-web-api,asp.net-web-api2,Caching,Asp.net Web Api,Asp.net Web Api2,我有一个WebApi端点,我的页面每隔一分钟左右就轮询一次数据。每次民意测验都会返回大约10KB的数据,我意识到在很多情况下,数据与上次的民意测验没有变化,但它仍然会占用返回结果的带宽 所以我想知道是否有一种标准的方法让WebApi确定结果没有改变,并向浏览器发出这样的信号 因为端点是无状态的,端点如何知道以前的状态是什么 它应该如何向客户发出这样的信号?在大多数情况下,我返回一个强类型对象(如List),因此不能返回其他类型的UseCachedVersion对象。我可以返回null,但这并不像

我有一个WebApi端点,我的页面每隔一分钟左右就轮询一次数据。每次民意测验都会返回大约10KB的数据,我意识到在很多情况下,数据与上次的民意测验没有变化,但它仍然会占用返回结果的带宽

所以我想知道是否有一种标准的方法让WebApi确定结果没有改变,并向浏览器发出这样的信号

因为端点是无状态的,端点如何知道以前的状态是什么

它应该如何向客户发出这样的信号?在大多数情况下,我返回一个强类型对象(如
List
),因此不能返回其他类型的
UseCachedVersion
对象。我可以返回null,但这并不像我希望的那样具有描述性


对于这种情况,是否有标准的做法?

在API/控制器层中使用缓存,如CacheOutput


如果您需要实时更新投票,您可以使用Signal,只要在服务器进行广播时更新客户端/订阅者即可。

非常有用,谢谢。它将我带到另一个页面,该页面对我需要使用的设计模式进行了很好的描述: