为自定义ApplicationService创建动态JavaScript代理

时间:2018-08-12 12:00:52

标签: c# asp.net-core aspnetboilerplate

我已经阅读了ABP文档。

这是我基于ABP框架的新项目的解决方案体系结构。 首先,我想问一下这种设计是否有问题?

enter image description here

我已将我所有的应用程序服务注册到IocManager中的Holitera.ApplicationModule中。 现在,我可以从MVC控制器调用我的应用程序服务。 RegionAppService是我的新AppService。

这是注册:

enter image description here

还有我的RegionAppService类:

public class RegionAppService : AsyncCrudAppService<Region, RegionDto,int>, IRegionAppService
{
    private readonly IRepository<Region> _regionRepository;
    public RegionAppService(IRepository<Region> regionRepository) :
        base(regionRepository)
    {
        CreatePermissionName = "CreateRegionPermission";
        _regionRepository = regionRepository;
    }
}

现在,我想像默认模板中的“角色”视图一样创建一个CRUD Razor页面。但是我无法将自定义RegionAppService注册到JavaScript代理服务。

我需要动态Web API模块来执行此操作吗?那有必要吗?如果是,那么角色,用户,客户,帐户服务如何注册到动态JS代理?我找不到该配置。据我所知,默认的MVC模板中没有动态Web API模块的配置?所以我还没有API模块。

稍后,但现在不需要动态JavaScript模块。首先,我只想处理这个问题。

顺便说一句,动态AJAX调用方法和动态Web API模块之间有什么区别?他们是一样的还是不一样的?

谢谢:)

1 个答案:

答案 0 :(得分:1)

  

这个设计有什么问题吗?

实体 DomainService 进入核心项目。 Dto AppService 进入“应用程序”项目。
您可以阅读有关NLayer Architecture的信息。

这是发现其他服务的方式以及正确的方法。

  

我需要动态Web API模块吗?那有必要吗?

否。

  

角色,用户,客户,帐户服务如何注册到动态js代理?我找不到该配置。据我所知,默认的mvc模板中没有动态api模块的配置?

这是在YourProjectNameWebCoreModule中完成的。您可以为其他程序集创建控制器:

Configuration.Modules.AbpAspNetCore()
    .CreateControllersForAppServices(
        typeof(RegionAppService).GetAssembly()
    );