以下是我希望实现的体系结构,但是我不确定如何去实现它。 注意:我目前正在将公司的解决方案从.Net MVC 4.7升级到.Net Core 3.1,因此我愿意提出建议。
核心Web应用(WebA)
图书馆基础/实用程序(LibA)
库身份验证(LibB)
库模块“特定于项目”(LibXYZ)
我的问题是,我可以通过依赖注入轻松地从WebA的控制器访问不同的库。但是,我需要将LibA注入LibB和LibXYZ中,这就是问题所在。
我可以简单地将DbContext移到WebA,但是当ProjectA的上下文中发生更改时,这将导致严厉的处罚,因为这也需要在所有其他项目中缓解。在当前设置下,我保持合理的“关注点分离”。
如果我要简单地在LibB中实例化LibA,则意味着LibA将在请求期间创建多次。