【问题标题】:How do I get ABP Application Service routing to multiple implementations?如何将 ABP 应用程序服务路由到多个实现?
【发布时间】:2018-09-10 19:33:51
【问题描述】:

我正在使用 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)
    {
        ...
    }
}

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

【问题讨论】:

  • 也许这是使用Dependency Injection的正确场景

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


【解决方案1】:

应该已经可以了。对于依赖注入,推荐(虽然不是必需的)每个类的接口,但这在这里无关紧要。

您只需要实现IApplicationService Interface

【讨论】:

    【解决方案2】:

    如果你这样做是为了泛化 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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-04
      • 2013-04-24
      • 2020-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-05
      • 2015-05-10
      相关资源
      最近更新 更多