1. 首页
  2. 编程语言
  3. C#
  4. ABP开发指南

ABP开发指南

上传者: 2019-04-17 20:24:10上传 DOCX文件 905.57KB 热度 55次
ABPFrameWork开发指南 入门文档 目 录 1 ABP总体介绍 1 1.1 入门介绍 1 1.1.1 ABP采用了以下技术 2 1.1.2 ABP框架已实现了以下特性 2 1.1.3 ABP适用的场景 4 1.2 多层架构体系 4 1.2.1 前言 4 1.2.2 ABP的体系结构 5 1.2.3 领域层 5 1.2.4 应用层 6 1.2.5 基础设施层 6 1.2.6 WEB与展现层 6 1.2.7 其它 7 1.3 模块系统 7 1.3.1 ABP模块系统简介 7 1.3.2 生命期事件 8 1.3.3 模块依赖 9 1.3.4 自定义的模块方法 10 1.4 启动配置 11 1.4.1 配置ABP 11 1.4.2 配置模块 13 1.4. 3 为一个模块创建配置 13 2 ABP公共结构 16 2.1 ABP依赖注入 16 2.1.1 传统方式的问题 16 2.1.2 解决方案 18 2.1.3 依赖注入框架 20 2.1.4 ABP依赖注入的基础结构 21 2.1.5 附件 25 2.2 ABP会话管理 26 2.2.1 简介 26 2.2.2 注入会话 27 2.2.3 使用会话属性 27 2.3 ABP日志管理 28 2.3.1 服务器端 28 2.3.2 客户端 32 2.4 ABP设置管理 32 2.4.1 介绍 32 2.4.2 定义设置 33 2.4.3 设置范围 34 2.4.4 获取设置值 35 2.4.5 更改设置 36 2.4.6 关于缓存 36 3 ABP领域层 37 3.1 ABP领域层—实体 37 3.1.1 实体类 37 3.1.2 接口约定 38 3.1.3 IEntity接口 41 3.2 ABP领域层—仓储 42 3.2.1 IRepository接口 42 3.2.2 仓储的实现 47 3.2.3 管理数据库连接 48 3.2.4 仓储的生命周期 48 3.2.5 仓储的最佳实践 48 3.3 ABP领域层—工作单元 49 3.3.1 通用连接和事务管理方法 49 3.3.2 ABP的连接和事务管理 50 3.3.3 工作单元 53 3.3.4 选项 56 3.3.5 方法 57 3.3.6 事件 57 3.4 ABP领域层—数据过滤器 58 3.4.1 介绍 58 3.4.2 预定义过滤器 58 3.4.3 禁用过滤器 60 3.4.4 启用过滤器 61 3.4.5 设定过滤器参数 62 3.4.6 自定义过滤器 62 3.4.7 其它对象关系映射工具 64 3.5 ABP领域层—领域事件 64 3.5.1 事件总线 64 3.5.2 定义事件 65 3.5.3 触发事件 65 3.5.4 事件处理 66 3.5.5 注册处理器 68 3.5.6 取消注册事件 69 4 ABP应用层 71 4.1 ABP应用层—应用服务 71 4.1.1 IApplicationService接口 71 4.1.2 应用服务类型 73 4.1.3 工作单元 74 4.1.4 应用服务的生命周期 76 4.2 ABP应用层—数据传输对象 76 4.2.1 数据传输对象的作用 76 4.2.2 DTO 约定 & 验证 78 4.2.3 DTO和实体间的自动映射 80 4.2.4 辅助接口和类型 82 4.3 ABP应用层—DTO有效性验证 82 4.3.1 使用数据注解 83 4.3.2 自定义检验 84 4.3.3 设置缺省值 85 4.4 ABP应用层—权限认证 86 4.4.1 定义权限 86 4.4.2 检查权限 87 4.5 ABP应用层—审计日志 90 4.5.1 配置 91 4.5.2 通过属性来启用和禁用审计日志 92 4.5.3 说明 93 5 ABP表现层 94 5.1 ABP展现层—动态WebApi层 94 5.1.1 建立动态web api 控制器 94 5.1.2 使用动态js代理 95 5.2 ABP展现层—本地化 97 5.2.1 程序语言 97 5.2.2 本地化源文件 98 5.2.3 获得一个本地化配置文件 100 5.2.4 总结 103 5.3 ABP展现层—Javascript函数库 103 5.3.1 AJAX 103 5.3.2 通知 107 5.3.3 消息 107 5.3.4 用户界面的繁忙提示 109 5.3.5 Js日志接口 110 5.3.6 Javascript公共方法 111 5.4 ABP展现层—导航栏 112 5.4.1 创建菜单 112 5.4.2 显示菜单 114 5.5 ABP展现层—异常处理 114 5.5.1 开启错误处理 115 5.5.2 非Ajax请求 115 5.5.3 AJAX请求 117 5.5.4 异常事件 118 5.6 ABP展现层—嵌入资源文件 118 6 ABP基础设施层 119 6.1 ABP基础设施层—集成Entity Framework 119 6.1.1 Nuget包 119 6.1.2 创建DbContext 119 6.1.3 仓储 120 6.2 ABP基础设施层—集成NHibernate 124 6.2.1 Nuget包 125 6.2.2 配置 125 6.2.3 仓储实现 127 7 ABP实例一:ASP.NET Boilerplate 131 7.1 引子 131 7.2 什么是ASP.Net Boilerplate? 132 7.3 ABP不适用于那些场合? 133 7.4 开始 134 7.5 使用模板创建空的网站应用程序 134 7.6 领域层 136 7.6.1 实体-Entities 137 7.6.2 仓储-Repository 138 7.6.3 关于命名空间 139 7.7 基础设施层 139 7.7.1 数据库迁移 139 7.7.2 实体映射 143 7.7.3 仓储实现 143 7.8 应用层 145 7.8.1 应用服务及数据传输对象 145 7.8.2 DTO验证 149 7.8.3 动态Web API控制器 150 7.9 表现层 151 7.9.1 单页应用 152 7.9.2 视图和视图模型 152 7.9.3 本地化 160 7.9.4 JavaScript API 162 7.10 更多 164 7.10.1 模块系统 164 7.10.2 依赖注入和约定 165 7.11 结论 165 8 ABP实例二:单页面网站应用程序 167 8.1 简介 167 8.2 基于Abp创建应用程序 168 8.3 创建实体 169 8.4 创建DbContext 170 8.5 创建Database Migrations 171 8.6 定义仓储 173 8.7 实现仓储 174 8.8 构建应用程序服务 175 8.9 验证 179 8.10 异常处理 180 8.11 构建Web API 服务 181 8.12 开发单页面应用(SPA) 181 8.13 本地化 186 3 为一个模块创建配置 13 2 ABP公共结构 16 2.1 ABP依赖注入 16 2.1.1 传统方式的问题 16 2.1.2 解决方案 18 2.1.3 依赖注入框架 20 2.1.4 ABP依赖注入的基础结构 21 2.1.5 附件 25 2.2 ABP会话管理 26 2.2.1 简介 26 2.2.2 注入会话 27 2.2.3 使用会话属性 27 2.3 ABP日志管理 28 2.3.1 服务器端 28 2.3.2 客户端 32 2.4 ABP设置管理 32 2.4.1 介绍 32 2.4.2 定义设置 33 2.4.3 设置范围 34 2.4.4 获取设置值 35 2.4.5 更改设置 36 2.4.6 关于缓存 36 3 ABP领域层 37 3.1 ABP领域层—实体 37 3.1.1 实体类 37 3.1.2 接口约定 38 3.1.3 IEntity接口 41 3.2 ABP领域层—仓储 42 3.2.1 IRepository接口 42 3.2.2 仓储的实现 47 3.2.3 管理数据库连接 48 3.2.4 仓储的生命周期 48 3.2.5 仓储的最佳实践 48 3.3 ABP领域层—工作单元 49 3.3.1 通用连接和事务管理方法 49 3.3.2 ABP的连接和事务管理 50 3.3.3 工作单元 53 3.3.4 选项 56 3.3.5 方法 57 3.3.6 事件 57 3.4 ABP领域层—数据过滤器 58 3.4.1 介绍 58 3.4.2 预定义过滤器 58 3.4.3 禁用过滤器 60 3.4.4 启用过滤器 61 3.4.5 设定过滤器参数 62 3.4.6 自定义过滤器 62 3.4.7 其它对象关系映射工具 64 3.5 ABP领域层—领域事件 64 3.5.1 事件总线 64 3.5.2 定义事件 65 3.5.3 触发事件 65 3.5.4 事件处理 66 3.5.5 注册处理器 68 3.5.6 取消注册事件 69 4 ABP应用层 71 4.1 ABP应用层—应用服务 71 4.1.1 IApplicationService接口 71 4.1.2 应用服务类型 73 4.1.3 工作单元 74 4.1.4 应用服务的生命周期 76 4.2 ABP应用层—数据传输对象 76 4.2.1 数据传输对象的作用 76 4.2.2 DTO 约定 & 验证 78 4.2.3 DTO和实体间的自动映射 80 4.2.4 辅助接口和类型 82 4.3 ABP应用层—DTO有效性验证 82 4.3.1 使用数据注解 83 4.3.2 自定义检验 84 4.3.3 设置缺省值 85 4.4 ABP应用层—权限认证 86 4.4.1 定义权限 86 4.4.2 检查权限 87 4.5 ABP应用层—审计日志 90 4.5.1 配置 91 4.5.2 通过属性来启用和禁用审计日志 92 4.5.3 说明 93 5 ABP表现层 94 5.1 ABP展现层—动态WebApi层 94 5.1.1 建立动态web api 控制器 94 5.1.2 使用动态js代理 95 5.2 ABP展现层—本地化 97 5.2.1 程序语言 97 5.2.2 本地化源文件 98 5.2.3 获得一个本地化配置文件 100 5.2.4 总结 103 5.3 ABP展现层—Javascript函数库 103 5.3.1 AJAX 103 5.3.2 通知 107 5.3.3 消息 107 5.3.4 用户界面的繁忙提示 109 5.3.5 Js日志接口 110 5.3.6 Javascript公共方法 111 5.4 ABP展现层—导航栏 112 5.4.1 创建菜单 112 5.4.2 显示菜单 114 5.5 ABP展现层—异常处理 114 5.5.1 开启错误处理 115 5.5.2 非Ajax请求 115 5.5.3 AJAX请求 117 5.5.4 异常事件 118 5.6 ABP展现层—嵌入资源文件 118 6 ABP基础设施层 119 6.1 ABP基础设施层—集成Entity Framework 119 6.1.1 Nuget包 119 6.1.2 创建DbContext 119 6.1.3 仓储 120 6.2 ABP基础设施层—集成NHibernate 124 6.2.1 Nuget包 125 6.2.2 配置 125 6.2.3 仓储实现 127 7 ABP实例一:ASP.NET Boilerplate 131 7.1 引子 131 7.2 什么是ASP.Net Boilerplate? 132 7.3 ABP不适用于那些场合? 133 7.4 开始 134 7.5 使用模板创建空的网站应用程序 134 7.6 领域层 136 7.6.1 实体-Entities 137 7.6.2 仓储-Repository 138 7.6.3 关于命名空间 139 7.7 基础设施层 139 7.7.1 数据库迁移 139 7.7.2 实体映射 143 7.7.3 仓储实现 143 7.8 应用层 145 7.8.1 应用服务及数据传输对象 145 7.8.2 DTO验证 149 7.8.3 动态Web API控制器 150 7.9 表现层 151 7.9.1 单页应用 152 7.9.2 视图和视图模型 152 7.9.3 本地化 160 7.9.4 JavaScript API 162 7.10 更多 164 7.10.1 模块系统 164 7.10.2 依赖注入和约定 165 7.11 结论 165 8 ABP实例二:单页面网站应用程序 167 8.1 简介 167 8.2 基于Abp创建应用程序 168 8.3 创建实体 169 8.4 创建DbContext 170 8.5 创建Database Migrations 171 8.6 定义仓储 173 8.7 实现仓储 174 8.8 构建应用程序服务 175 8.9 验证 179 8.10 异常处理 180 8.11 构建Web API 服务 181 8.12 开发单页面应用(SPA) 181 8.13 本地化 186
用户评论