asp.net-mvc – 使用Repository/Service Pattern和MVC时缓存数据对象

我有一个基于MVC的网站,它使用Repository /服务模式进行数据访问。
服务被编写为在大多数应用程序(控制台,winform和web)中使用。目前,控制器直接与服务器通信。这限制了应用正确缓存的能力。

我看到我的选项如下:

>为web应用程序编写包装器,它实现了进行缓存的IWhatEverService。
>通过缓存每个Action的ViewData在每个控制器中应用缓存。
>不要担心数据缓存,只需为每个Action实现OutputCaching。

我可以看到每个的利弊。什么是/应该的最佳实践是使用Repository /服务进行缓存

解决方法

最简单的方法是在您的存储库提供程序中处理缓存。这样,您不必更改其余应用程序中的任何代码;它将忽略数据是从缓存而不是存储库提供的。

所以,我创建一个接口,控制器用来与后端通信,在实现这里我将添加缓存逻辑。把它包装在一个漂亮的弓与一些DI,你的应用程序将设置为容易测试。

相关文章

引言 本文从Linux小白的视角, 在CentOS 7.x服务器上搭建一个...
引言: 多线程编程/异步编程非常复杂,有很多概念和工具需要...
一. 宏观概念 ASP.NET Core Middleware是在应用程序处理管道...
背景 在.Net和C#中运行异步代码相当简单,因为我们有时候需要...
HTTP基本认证 在HTTP中,HTTP基本认证(Basic Authenticatio...
1.Linq 执行多列排序 OrderBy的意义是按照指定顺序排序,连续...