我正在使用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等路径访问它们。
那应该已经有效了。对于依赖注入,建议使用每个类的接口(尽管不是必需的),但这与此无关。
如果你这样做是为了概括CRUD操作,那么就已经有了这样一个接口AsyncCrudAppService
public class TaskAppService : AsyncCrudAppService<Task, TaskDto>, ITaskAppService
{
public TaskAppService(IRepository<Task> repository)
: base(repository)
{
}
}