Web API和MVC项目之间的依赖注入在同一解决方案中

时间:2017-07-04 07:45:26

标签: c# asp.net-mvc caching asp.net-web-api dependency-injection

我正在开发一个包含4个项目的解决方案,并且我想分享相同的依赖注入模式。

项目
项目A :具有使用DI的视图和控制器的MVC项目 项目B :带有使用DI的控制器的WebAPI项目 项目C :缓存项目,允许我在缓存内存储和检索数据的图层 项目D :服务项目,在数据库(和缓存)中存储和检索数据的服务层。

项目A 项目B 指的是项目D 。 (例如,他们向服务层询问数据,并向他们提供从数据库或缓存中检索的数据)。 ( *项目A 项目B 在每个控制器构造函数中注入 IServiceManager )。

项目D 是指项目C ,因为有时它需要来自缓存内存的数据,当它更新数据库上的记录时,它会清除缓存。 (它在构造函数中注入了ICacheManager )。

问题
项目A 项目B 使用相同的方式检索和存储数据:他们在每个控制器的构造函数中注入了 IServiceManager ,并且他们调用了ServiceManager方法。 但是当项目B 在数据库上写一条记录(使用应该在db上写入的ServiceManager并清除缓存),然后项目A 读取数据(使用ServiceManager),项目A 继续"参见"旧数据存储在缓存中。

期望
我希望DI为项目A 项目B 提供相同的对象(相同的服务和相同的缓存管理器),以便他们可以处理相同的数据。 / p>

有可能吗?我怎样才能集中和#34; A B 使用的DI模式与提供相同数据的方式相同?

0 个答案:

没有答案