我有一个MVC控制器动作方法,它具有很多功能,包括调用私有方法。此私有方法调用webapi服务返回对控制器操作的响应。我想缓存此输出以最小化对Webapi的调用次数。
我认为,对于控制器的常规方法,我们没有任何属性支持(如操作上的OutputCache)。我只能想到使用MemoryCache,但请分享在这里实现缓存的最佳方法。
MVC控制器操作 - >私人方法 - >致电Webapi服务
答案 0 :(得分:1)
您可以使用常规System.Web.Cache
,正如您在此问答中看到的那样:
How to cache data in a MVC application
请注意Cache["key"]
会返回对缓存数据的引用。因此,如果从缓存中恢复并修改它,则修改会自动反映在缓存中。 (这仅适用于类类型,而不适用于值类型,即结构或基本类型)。