在 MVC 和我尝试过的大多数其他服务框架中,缓存是通过属性/过滤器完成的,无论是在控制器/动作或请求上,并且可以通过配置文件中的缓存配置文件进行控制。它似乎提供了更大的灵活性,也让核心服务代码更干净。
但是 ServiceStack 将它包含在服务中。这样做有什么理由吗?
我可以添加一个 CacheFilterAttribute,而是委托给服务吗?
ToOptimizedResultUsingCache(base.Cache,cacheKey,()=> {
// Delegate to Request/Service being decorated?
});
我四处寻找,但找不到答案。当然,它可能不会有太大的不同,因为通过委托方法缓存的 ServiceStack 非常干净。而且您很少在现实世界中即时更改缓存策略。所以这主要是出于好奇。谢谢。