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

C# 如何将ABP应用程序服务路由到多个实现?,c#,dependency-injection,interface,asp.net-mvc-routing,aspnetboilerplate,C#,Dependency Injection,Interface,Asp.net Mvc Routing,Aspnetboilerplate,我正在使用ASP.NET样板文件(ABP) 我希望有一个通用的应用程序服务,可以通过多种方式实现。在阅读文档时,似乎需要我为每个类创建一个接口。我希望有一个通用接口,并能够将其路由到实现的类。有没有办法做到这一点 public interface IMyAppService : IApplicationService { Task<DataTableCollection> PostData(string action, string data); } public clas

我正在使用ASP.NET样板文件(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)
    {
        ...
    }
}
公共接口IMyAppService:iaapplicationservice
{
任务PostData(字符串操作、字符串数据);
}
公共类myclass1:IMyAppService
{
公共异步任务PostData(字符串操作、字符串数据)
{
...
}
}
公共类myclass2:IMyAppService
{
公共异步任务PostData(字符串操作、字符串数据)
{
...
}
}

然后在我的应用程序中,通过像/app/myclass1/app/myclass2

这样应该已经可以使用的路由访问它们。对于依赖项注入,建议使用每个类的接口(虽然不是必需的),但这与此无关


您只需要实现。

如果您这样做是为了泛化CRUD操作,那么已经有了这样一个接口
AsyncCrudAppService

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

    }
}
公共类TaskAppService:AsyncCrudAppService,ITaskAppService
{
公共TaskAppService(IRepository存储库)
:base(存储库)
{
}
}

也许这是使用依赖注入的正确方案