C# 同一解决方案中Web API和MVC项目之间的依赖关系注入
我正在开发一个包含4个项目的解决方案,我希望共享相同的依赖注入模式 项目C# 同一解决方案中Web API和MVC项目之间的依赖关系注入,c#,asp.net-mvc,caching,asp.net-web-api,dependency-injection,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,因为
项目A:具有使用DI的视图和控制器的MVC项目。
项目B:带有使用DI的控制器的WebAPI项目。
项目C:缓存项目,允许我在缓存内存中存储和检索数据的层。
项目D:服务项目,在数据库(和缓存)中存储和检索数据的服务层 项目A和项目B请参考项目D。(例如,他们向服务层请求数据,服务层向他们提供从数据库或缓存检索到的数据)。(*项目A和项目B将IServiceManager注入每个控制器构造函数*) 项目D指的是项目C,因为有时它需要缓存中的数据,当它更新数据库中的记录时,它会清除缓存。(它在构造函数中注入了一个ICacheManager) 问题
项目A和项目B使用相同的方法检索和存储数据:它们在每个控制器的构造函数中注入了一个IServiceManager,并调用ServiceManager方法。 但当project B在数据库上写入记录(使用应在db上写入并清除缓存的ServiceManager),然后project a读取数据(使用ServiceManager),project a继续“查看”缓存中存储的旧数据 期望值
我希望DI为项目A和项目B提供相同的对象(相同的服务和相同的缓存管理器),以便它们可以处理相同的数据
可能吗?我如何“集中”一个由a和B使用的DI模式,以提供相同数据的相同方式?您有使用类似的东西的余地吗?我不喜欢使用Redis或类似的,但如果没有其他选择,我会继续使用。@Teo Hi。你找到这个问题的答案了吗?我有类似的东西