ABP是一套非常优秀的web应用程序架构,适合用来搭建集中式架构的web应用程序。

整个Abp的Infrastructure是以Abp这个package为核心模块(core)+15个模块(module).其中13个依赖于Abp这个核心包。另外两个包(FluentMigration,Web.Resources)相对独立

Abp.AutoMapper: 实现对象之间的自动映射。

Abp.EntityFramework:通过EntityFramework实现数据访问层。

Abp.FluentMigrator :对FluentMigrator库做了易用性扩展。

Abp.HangFire:集成了HangFire,用于实现后台工作任务。

Abp.MemoryDb:MemoryDB的数据访问层

Abp.MongoDB:MongoDB的数据访问层。这个模块是个鸡肋,实际项目中无法使用。原因后面会详述。

Abp.NHibernate:通过NHibernate实现数据访问层。

Abp.Owin:目前只有一个IAppBuilder的扩展方法,用来解决application启动时候的AppDomain CultureInfo Leak问题。 关于这个Issue可以点击这里

Abp.RedisCache:Redis的数据访问层

Abp.Web: 提供给ASP.Net web application 使用的模块

Abp.Web.Api: 提供给ASP.Net web application Webapi使用的模块

Abp.Web.Mvc: 提供给ASP.Net web application MVC 使用的模块

Abp.Web.Api.Odata : 提供给ASP.Net web application Webapi Odata 使用的模块

Abp.Web.SignalR : 集成SignalR

Abp.Web.Resources:这个模块中只有js和css代码,是用来扩展angularjs或jquery的?

ABP源码分析系列文章目录:

ABP源码分析二:ABP中配置的注册和初始化

ABP源码分析三:ABP Module

ABP源码分析四:Configuration

ABP源码分析五:ABP初始化全过程

ABP源码分析六:依赖注入的实现

ABP源码分析七:Setting 以及 Mail

ABP源码分析八:Logger集成

ABP源码分析九:后台工作任务

ABP源码分析十:Unit Of Work

ABP源码分析十一:Timing

ABP源码分析十二:本地化

ABP源码分析十三:缓存Cache实现

ABP源码分析十四:Entity的设计

ABP源码分析十五:ABP中的实用扩展方法

ABP源码分析十六:DTO的设计

ABP源码分析十七:DTO 自动校验的实现

ABP源码分析十八:UI Inputs

ABP源码分析十九:Auditing

ABP源码分析二十:ApplicationService

ABP源码分析二十一:Feature

ABP源码分析二十二:Navigation

ABP源码分析二十三:Authorization

ABP源码分析二十四:Notification

ABP源码分析二十五:EventBus

ABP源码分析二十六:核心框架中的一些其他功能

ABP源码分析二十七:ABP.Entity Framework

ABP源码分析二十八:ABP.MemoryDB

ABP源码分析二十九:ABP.MongoDb

ABP源码分析三十:ABP.RedisCache

ABP源码分析三十一:ABP.AutoMapper

ABP源码分析三十二:ABP.SignalR

ABP源码分析三十三:ABP.Web

ABP源码分析三十四:ABP.Web.Mvc

ABP源码分析三十五:ABP中动态WebAPI原理解析

ABP源码分析三十六:ABP.Web.Api

ABP源码分析三十七:ABP.Web.Api Script Proxy API

ABP源码分析三十八: ABP.Web.Api.OData

ABP源码分析三十九:ABP.Hangfire

ABP源码分析四十:ZERO的Application和Tenant

ABP源码分析四十一:ZERO的Audit,Setting,Background Job

ABP源码分析四十二:ZERO的身份认证

ABP源码分析四十三:ZERO的本地化

ABP源码分析四十四:ZERO的配置

ABP源码分析四十五:ABP ZERO中的EntityFramework模块

ABP源码分析四十六:ABP ZERO中的Ldap模块

ABP源码分析四十七:ABP中的异常处理

ABP源码分析一:整体项目结构及目录的更多相关文章

  1. [阿里DIN] 深度兴趣网络源码分析 之 整体代码结构

    [阿里DIN] 深度兴趣网络源码分析 之 整体代码结构 目录 [阿里DIN] 深度兴趣网络源码分析 之 整体代码结构 0x00 摘要 0x01 文件简介 0x02 总体架构 0x03 总体代码 0x0 ...

  2. ABP架构学习系列一 整体项目结构及目录

    本系列是基于aspnetboilerplate-0.8.4.0版本写的,其中原因是由于较高的版本太抽象难以理解和分析,对于还菜菜的我要花更多的时间去学习. abp的源码分析学习主要来源于 HK Zha ...

  3. C# DateTime的11种构造函数 [Abp 源码分析]十五、自动审计记录 .Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C#验证码 c#_生成图片式验证码 C# 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库

    C# DateTime的11种构造函数   别的也不多说没直接贴代码 using System; using System.Collections.Generic; using System.Glob ...

  4. 使用react全家桶制作博客后台管理系统 网站PWA升级 移动端常见问题处理 循序渐进学.Net Core Web Api开发系列【4】:前端访问WebApi [Abp 源码分析]四、模块配置 [Abp 源码分析]三、依赖注入

    使用react全家桶制作博客后台管理系统   前面的话 笔者在做一个完整的博客上线项目,包括前台.后台.后端接口和服务器配置.本文将详细介绍使用react全家桶制作的博客后台管理系统 概述 该项目是基 ...

  5. ABP源码分析二十一:Feature

    Feature是什么?Feature就是对function的分类方法,其与function的关系就比如Role和User的关系一样. ABP中Feature具有以下属性: 其中最重要的属性是name, ...

  6. ABP源码分析二十九:ABP.MongoDb

    这个Module通过建立一个MongoDbRepositoryBase<TEntity> 基类,封装了对MongoDb数据库的操作. 这个module通过引用MongoDB.Driver, ...

  7. [Abp 源码分析]零、文章目录

    0.系列文章目录 一.Abp 框架启动流程分析 二.模块系统 三.依赖注入 四.模块配置 五.系统设置 六.工作单元的实现 七.仓储与 Entity Framework Core 八.缓存管理 九.事 ...

  8. ABP源码分析二:ABP中配置的注册和初始化

    一般来说,ASP.NET Web应用程序的第一个执行的方法是Global.asax下定义的Start方法.执行这个方法前HttpApplication 实例必须存在,也就是说其构造函数的执行必然是完成 ...

  9. ABP源码分析三:ABP Module

    Abp是一种基于模块化设计的思想构建的.开发人员可以将自定义的功能以模块(module)的形式集成到ABP中.具体的功能都可以设计成一个单独的Module.Abp底层框架提供便捷的方法集成每个Modu ...

随机推荐

  1. 探索ASP.NET MVC5系列之~~~4.模型篇---包含模型常用特性和过度提交防御

    其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...

  2. CENTOS 6.5 平台离线安装 Apache2.4

    一.下载Apache 2.4 http://httpd.apache.org/download.cgi http://mirrors.cnnic.cn/apache//httpd/httpd-2.4. ...

  3. Gradle 实现 Android 多渠道定制化打包

    Gradle 实现 Android 多渠道定制化打包 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近在项目中遇到需要实现 Apk 多渠道.定制化打包, Google .百度查找了一些资料, ...

  4. Linux上如何查看物理CPU个数,核数,线程数

    首先,看看什么是超线程概念 超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的 ...

  5. 深入浅出JavaScript之闭包(Closure)

    闭包(closure)是掌握Javascript从人门到深入一个非常重要的门槛,它是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现.下面写下我的学习笔记~ 闭包-无处不 ...

  6. ASP.Net MVC4+Memcached+CodeFirst实现分布式缓存

    ASP.Net MVC4+Memcached+CodeFirst实现分布式缓存 part 1:给我点时间,允许我感慨一下2016年 正好有时间,总结一下最近使用的一些技术,也算是为2016年画上一个完 ...

  7. 小兔Java教程 - 三分钟学会Java文件上传

    今天群里正好有人问起了Java文件上传的事情,本来这是Java里面的知识点,而我目前最主要的精力还是放在了JS的部分.不过反正也不麻烦,我就专门开一贴来聊聊Java文件上传的基本实现方法吧. 话不多说 ...

  8. Android中使用ExpandableListView实现微信通讯录界面(完善仿微信APP)

    之前的博文<Android中使用ExpandableListView实现好友分组>我简单介绍了使用ExpandableListView实现简单的好友分组功能,今天我们针对之前的所做的仿微信 ...

  9. SQL-union

    集合运算符是对两个集合操作的,两个集合必须具有相同的列数,列具有相同的数据类型(至少能隐式转换的),最终输出的集合的列名由第一个集合的列名来确定.(可以用来连接多个结果)联合(union)与连接(jo ...

  10. 《Ansible权威指南》笔记(2)——Inventory配置

    四.Inventory配置ansible通过Inventory来定义主机和组,使用时通过-i指定读取,默认/etc/ansible/hosts.可以存在多个Inventory,支持动态生成.1.定义主 ...