c# - 为自定义 ApplicationService 创建动态 JavaScript 代理
问题描述
我已阅读 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 模块来做到这一点吗?那有必要吗?如果是,那么 Role、User、Customer、Account 服务是如何注册到动态 JS 代理的?我找不到那个配置。据我所知,默认 MVC 模板中没有动态 Web API 模块的配置?所以我还没有 API 模块。
稍后我将需要一个动态 JavaScript 模块,但不是现在。首先,我只想处理这个。
顺便问一下,动态 AJAX 调用方法和动态 Web API 模块有什么区别?它们是相同的还是不同的,如何?
谢谢 :)
解决方案
这个设计有什么问题吗?
Entity和DomainService进入核心项目。Dto和AppService进入 Application 项目。
您可以阅读有关NLayer 架构的信息。
这是发现其他服务的方式和正确的方法。
我需要动态 web api 模块来做到这一点吗?那有必要吗?
不。
Role、User、Customer、Account 服务如何注册到动态 js 代理?我找不到那个配置。据我所知,默认 mvc 模板中没有动态 api 模块的配置?
它在YourProjectNameWebCoreModule中完成。您可以为其他程序集创建控制器:
Configuration.Modules.AbpAspNetCore()
.CreateControllersForAppServices(
typeof(RegionAppService).GetAssembly()
);
推荐阅读
- javascript - 如何创建返回有效负载的 Redux Saga
- sql - 查找关键字“WHERE”附近语法不正确的原因
- python - Handling conditional logic + sentinel value with mypy
- python - python系统错误53或67已发生
- powershell - 在 PowerShell 中保护和加密用户名/密码
- azure - 调试容器化应用程序时,是否可以在 Visual Studio 中本地查看我的遥测数据?
- sql - 按相似字符串查询红移分组
- amazon-web-services - 使用 AWS 工具包在本地测试 SES lambda
- c# - 如何使用 Interop 在 C# 中读取受保护视图的 Excel 文件?
- excel - 通过更改文件名的 VBA 复制粘贴