我已经阅读了ABP文档。
这是我基于ABP框架的新项目的解决方案体系结构。 首先,我想问一下这种设计是否有问题?
我已将我所有的应用程序服务注册到IocManager
中的Holitera.ApplicationModule
中。
现在,我可以从MVC控制器调用我的应用程序服务。 RegionAppService
是我的新AppService。
这是注册:
还有我的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模块之间有什么区别?他们是一样的还是不一样的?
谢谢:)
答案 0 :(得分:1)
这个设计有什么问题吗?
实体和 DomainService 进入核心项目。 Dto 和 AppService 进入“应用程序”项目。
您可以阅读有关NLayer Architecture的信息。
这是发现其他服务的方式以及正确的方法。
我需要动态Web API模块吗?那有必要吗?
否。
角色,用户,客户,帐户服务如何注册到动态js代理?我找不到该配置。据我所知,默认的mvc模板中没有动态api模块的配置?
这是在YourProjectNameWebCoreModule中完成的。您可以为其他程序集创建控制器:
Configuration.Modules.AbpAspNetCore()
.CreateControllersForAppServices(
typeof(RegionAppService).GetAssembly()
);