如何将ABP应用程序服务路由到多个实现?

时间:2018-09-10 19:33:52

标签: c# dependency-injection interface asp.net-mvc-routing aspnetboilerplate

我正在使用ASP.NET Boilerplate(ABP)。

我想有一个以多种方式实现的通用应用程序服务。阅读文档,似乎要求我为每个类创建一个接口。我想要一个通用接口并将其路由到已实现的类。有什么办法吗?

public interface IMyAppService : IApplicationService
{
    Task<DataTableCollection> PostData(string action, string data);
}

public class myclass1 : IMyAppService
{
    public async Task<DataTableCollection> PostData(string action, string data)
    {
        ...
    }
}

public class myclass2 : IMyAppService
{
    public async Task<DataTableCollection> PostData(string action, string data)
    {
        ...
    }
}

然后在我的应用程序中,通过 / app / myclass1 / app / myclass2 等路由访问它们。

2 个答案:

答案 0 :(得分:0)

应该已经可以了。推荐使用(尽管不是必需)每个类的接口来进行依赖注入,但这与此处无关。

您只需要实现IApplicationService Interface

答案 1 :(得分:0)

如果您这样做是为了概括CRUD操作,那么已经有这样的接口AsyncCrudAppService

public class TaskAppService : AsyncCrudAppService<Task, TaskDto>, ITaskAppService
{
    public TaskAppService(IRepository<Task> repository) 
        : base(repository)
    {

    }
}

https://aspnetboilerplate.com/Pages/Documents/Application-Services#crudappservice-and-asynccrudappservice-classes