51dev.com IT技术开发者社区

51dev.com 技术开发者社区

会话管理之AbpSession

会话管理之AbpSession

一.AbpSession的认识在ABP中提供了IAbpSession的接口用来获取用户和租户的信息,没有使用Asp.Net中的Session,那么AbpSession到底和Session有没有关系?具体是怎么实现的呢?在ABP的源码中共有两个类具体实现了IAbpSession接口:NullAbpSe...

ABP之事件总线(5)

ABP之事件总线(5)

前面已经对CastleWindsor的基本使用进行了学习,有了这个基础,接下来我们将把我们的事件总线再次向ABP中定义的事件总线靠近。从源码中可以知道在ABP中定义了Dictionary,存放三种类型的Factory,然后通过容器的方式实例化相应的handlerfactory。承接前面的随笔,我们为...

ABP之事件总线(4)

ABP之事件总线(4)

在上一篇的随笔中,我们已经初步完成了EventBus,但是EventBus中还有诸多的问题存在,那么到底有什么问题呢,接下来我们需要看一看ABP中的源码是如何定义EventBus的。1.第一个点 在ABP中提供了对Action类型的支持,而我们的自己定义的类中只是针对继承了IEventHa...

ABP之事件总线(3)

ABP之事件总线(3)

承接上一篇时间总线的学习,在上一篇中我们实现了取消显式注册事件的方式,采用使用反射的方式。这样的好处可以解除Publisher和Scriber的显式依赖,但是问题又来了,因为我们只有Publisher和Scriber,而且我们又要实现这两者的通信,那么无论使用那种方式都不可能解除两者的依赖关系,反射...

ABP之事件总线(2)

ABP之事件总线(2)

在上一篇文章中,我们复习了一下事件的经典的发布订阅模式,同时对是事件源和时间处理逻辑进行抽象统一,用起来也没有问题。但是还是有很多的问题,比如说我们Handle方法其实是违背了单一性的原则的,里面混杂了各个EventData的处理逻辑,这个方法将会越来越大,越来越慢,看着越来越难受。好,那么先解决今...

ABP之事件总线(1)

ABP之事件总线(1)

什么是事件总线呢?官方的文档说,它是一个单例对象,由其他的类共同拥有,可以用来触发和处理事件。这个东西确实比较陌生,为什么要使用事件总线,或者说事件总线的优势是什么???首先我们可以明确的是,事件总线的出现是用来代替我们传统的事件的,那么我们传统的事件到底有什么不好呢??我们由浅入深,慢慢研究。事件...

ABP之展现层(Datatables分页)

ABP之展现层(Datatables分页)

 在前面的随笔中,已经介绍了ABP的增删改查的操作,但是对于查询的数据并没有进行分页,只是进行粗糙的展示,今天的随笔中将摸索进行分页展示。这里打算使用的分页插件是DataTables,这是一款比较强大的表格插件。在以前我们后台手动分页的时候,需要前台传入两个重要的分页参数:PageInde...

ABP之展现层(导航菜单)

ABP之展现层(导航菜单)

 基本的增删改查已经粗糙的结束了,接下来就是要方便的展示了,也就是导航菜单。在Abp中已经对导航栏的设置进行了相应的封装(Abp.Application.Navigation),可以方便我们快速的将自己开发的页面添加到首页的导航栏中。一.添加自己的导航菜单当我们从ABP官网下载模板的时候,...

ABP之应用服务(2)

ABP之应用服务(2)

在上一篇的笔记中,已经大致对Application层的使用作了简要的使用说明,感觉还是有些东西需要研究一下,所以承接上文,对AutoMapper这个方便的东西,稍微研究一下。一.初识AutoMapper首先使用一个简单的控制台应用程序,测试一下AutoMapper。我们使用nuget将AutoMap...

ABP之应用服务(1)

ABP之应用服务(1)

在一个理想的层级项目中,展现层是不能直接访问领域对象的,那么展现层如何获取到自己需要的数据呢?也就是今天的主角-Application层,它的职责就是为展现层服务,它通过仓储获取到相应的数据,然后将数据以Dto的形式传给展现层,负责展示。那么问题来了:1.什么是Dto?2.Dto的好处是什么?一.D...

ABP之仓储

ABP之仓储

一.仓储的简单介绍仓储(Repository):这是属于领域层的重要组成部分,它的作用就是完成和数据库的交互工作,仓储里封装了很多操作数据库的方法。所以说仓储是数据映射层和领域层的交互中介。ABP针对不同的ORM框架对仓储的接口做了实现,当然这些实现只是针对一些比较常用的数据操作,对于一些复杂的接口...

ABP之创建实体

ABP之创建实体

ABP框架是一个非常庞大的框架,里面的东西有很多,那么如果我需要使用ABP进行项目的开发,具体的使用流程是怎样的呢?接下来将以一个简单的电影票管理“系统”为例子具体的实现一下。一.实体的创建实体是属于领域层的,所以我们创建到Core项目中1.创建实体的时候需要继承自Entity,这个是遵循了ABP框...

ABP之框架体系

ABP之框架体系

一.框架体系的介绍ABP框架采用的是DDD(领域驱动设计)的原则,可以很方便实现项目之间的松耦合,采用模块化的方式,方便对框架的扩展。按照DDD的原则,首先将项目分为四层:展现层:用来展现给用户,并和用户进行交互的层。应用层(Application):用来和领域层进行交互。领域层(Domain):这...

ABP之项目的搭建

ABP之项目的搭建

ABP是一个非常优秀的框架,使用模块化的管理方式,将当前比较优秀的技术集成到了这个框架中,方便开发者快速搭建自己的网站。作为ABP学习的第一篇,先将ABP框架跑起来看看再说。1.首先需要去官网下载相应的模板项目,地址:https://aspnetboilerplate.com/Templates目前...

2018年,加油!!!

2018年,加油!!!

今天是2018年的第一天,现在的这份工作已经干了3个多月了,在这三个月里学到了很多的新的知识,学的越多,越发的感觉自己知识的匮乏,新的一年新的开始,我将记录自己工作中生活中学到的一些知识,为了更高的目标而努力。在这里我想给自己定下最近需要完成目标,以备以后监督自己去完成。1.对ABP框架进行研究,并...