将服务注入另一个服务

问题描述 投票:3回答:3

我有一个MVC项目,该项目具有两个服务OrganisationService和AgreementService,我的问题是某些组织属于一个组/父结构,在这种情况下,我需要获取属于任何一个组内的组织。

我的OrganisationService中已经有一个方法,该方法可以返回结构中组织的所有ID的列表:

IEnumerable<int> GetRelatedOrganisationIds(int id)

我可以在AgreementService中创建一个接受此结果的方法,但随后我需要将这两种服务都注入到我的控制器中并依次调用它们,例如

GetAgreementsByOrganisationIdList(IEnumerable<int> organisationIdList)

是否可以将OrganisationService注入AgreementService,以便它可以自己完成工作?例如,以下方法将在内部调用GetRelatedOrganisationIds:

GetAgreementsByOrganisationId(int id)

我想将其注入AgreementService的另一个原因是,我不需要记住要检查组织是否处于组/父母关系中,并且每次想获取协议列表时都查找ID。] >

我还考虑过创建OrganisationGroupParentInformationProvider并将其注入到AgreementService中,我可能花了太多时间在思考这个问题上。...您将如何做?

我有一个具有两个服务的OrganisationService和AgreementService的MVC项目,我的问题是,在这种情况下,某些组织属于组/父结构...

c# asp.net-mvc dependency-injection service-layer
3个回答
3
投票

是的,可以将一个服务注入另一个服务的构造函数中。但是,您可能要考虑为OrganisationService创建一个接口,并让您的AgreementService依赖于该抽象。


2
投票

是否可以将OrganisationService注入AgreementService,以便它可以自己完成工作?


0
投票

是否将其视为注入服务?

© www.soinside.com 2019 - 2024. All rights reserved.