返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 ABP模块系统 说了这么久,还没有详细说到abp框架,abp其实基于DDD(领域驱动设计)原则的细看分层如下: 再看我们项目解决方案如下: JCmsErp.Application,应用层:进行展现层与领域层之间的协调,协调业务对象来执行特定的应用程序的任务.它不包含业务逻辑,主要包含一些模型,abp重要的数据传输DTO,包括数据库映射实体,前端视图模型转实体(Entity)对象,一个应用服务方法通常被认为是一个…
说了这么久,还没有详细说到abp框架,abp其实基于DDD(领域驱动设计)原则的细看分层如下: 再看我们项目解决方案如下: JCmsErp.Application,应用层:进行展现层与领域层之间的协调,协调业务对象来执行特定的应用程序的任务.它不包含业务逻辑,主要包含一些模型,abp重要的数据传输DTO,包括数据库映射实体,前端视图模型转实体(Entity)对象,一个应用服务方法通常被认为是一个工作单元(Unit of Work),使用一种像AutoMapper这样的工具来进行实体与DTO之间的…
上一节我们讲到登录逻辑,我做的登录逻辑很简单的,我们来看一下abp module-zero里面的登录代码. #region Login / Logout public ActionResult Login(string returnUrl = "") { if (string.IsNullOrWhiteSpace(returnUrl)) { returnUrl = Request.ApplicationPath; } return View( new LoginFormViewMode…
   学而时习之,不亦说乎,温顾温知新,可以为师矣. 这也是算是一种学习的方法和态度吧,经常去学习和总结,在博客园看了很多大神的文章,写下一点对于ABP(ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称)框架的理解和运用.能力有限,第一次写技术性的博客写得不好.算是抛砖引玉,希望有问题的地方给予指出.      "ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框…
一,Web API ABP的动态WebApi实现了直接对服务层的调用(其实病没有跨过ApiController,只是将ApiController公共化,对于这一点的处理类似于MVC,对服务端的 调用没有跨过HttpHandler一样),这样不仅减少了ApiController的开发,也更能体现驱动领域设计的层结构. WEBAPI同样集成自AbpController, 我们看到AbpController封装了很多方法,集成了很多东西,继承自System.Web.Mvc.Controller,abp…
一,控制器AbpController 说完了Swagger ui 我们再来说一下abp对控制器的处理和json的封装. 首先我们定义一个控制器,在新增控制器的时候,控制器会自动继承自AbpController,AbpController对ASP.NET MVC Controllers进行了集成. 并且拥有了以前强大的功能. 我们看到AbpController封装了很多方法,集成了很多东西,继承自System.Web.Mvc.Controller,abp包含一下功能 1,本地化 2,异常处理 3,…
这张开始bootstrap table,引入项目有两种方法,一种是直接去官网下载 地址:http://bootstrap-table.wenzhixin.net.cn/ 另一种是Nuget引入. 然后就是把js引用到项目中来,其实Bootstrap js 还有jQuery我们在模板页已经引进了,这里只需要引入bootstrap table相关的js以及中文包就可以了 <link href="~/Scripts/Content/bootstrap-table/bootstrap-table.…
上节我们把布局页,也有的临时的菜单,但是菜单不是应该动态加载的么?,所以我们这节来写菜单.首先我们看一下AdminLTE源码里面的菜单以及结构. <aside class="main-sidebar"> <!-- sidebar: style can be found in sidebar.less --> <section class="sidebar"> <!-- Sidebar user panel --> &l…
AdminLTE 官网地址:https://adminlte.io/themes/AdminLTE/index2.html 首先去官网下载包下来,然后引入项目. 然后我们在web层添加区域Admin以及Common,关于AdminLTE的地址我们放在Common路劲下面. 在Common下添加LayoutController控制器. 这里菜单我们先不管,在后面的章节我在加上,首先是_Layout页代码: @{ Layout = null; } @using System.Web.Optimiza…
经过前几节,我们已经解决数据库,模型,DTO,控制器和注入等问题.那么再来看一下登录逻辑.这里算是前面几节的一个初次试水. 首先我们数据库已经有的相应的数据. 模型和DTO已经建好,所以我们直接在服务层添加Login方法就可以了. 在展现层添加Account控制器,注入IUserService接口,调用Login方法. 然后添加视图页面. 运行一下,看一下结果. 除了页面比较漂亮(哈哈),这些本来都没有什么好说的,直接上图, 这里值得注意的是,我们在创建下面的方法,在调用接口的的时候会报一个错误…
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 第一点,上一篇文章中我们讲到codefirst中一些问题包括如图,codefirst在每次执行命令的时候会生成新的类,后来会越来越多. 1,codefirst在执行的数据库迁移过程中产生了很多文件,对于强迫症的我而言特别不爽,这些其实是可以不用生成的. 2,在codefirst实际开发过程的冲突 3,每次增加一个表或者增删改一个字段都要去敲命令,好麻烦 4,数据库初始化的时候,不用把很多东西写入程序里面. 5,…
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 用户实体 用户实体代表应用的一个用户,它派生自AbpUser类,如下所示: public class User : AbpUser<Tenant, User> { //add your own user properties here } 这个类是在安装模块零时创建的.用户存储在数据库的AbpUsers表中.您可以将自定义属性添加到User类(并为更改创建数据库迁移). AbpUser类定义了一些基本属性.一…
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 AdminLTE AdminLTE 官网地址:https://adminlte.io/themes/AdminLTE/index2.html 首先去官网下载包下来,然后引入项目. 然后我们在web层添加区域Admin以及Common,关于AdminLTE的地址我们放在Common路劲下面. 在Common下添加LayoutController控制器. Layout 这里菜单我们先不管,在后面的章节我在加上,首先…
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期         简介 经过前几节,我们已经解决数据库,模型,DTO,控制器和注入等问题.那么再来看一下登录逻辑.这里算是前面几节的一个初次试水. 首先我们数据库已经有的相应的数据. 添加Login方法 模型和DTO已经建好,所以我们直接在服务层添加Login方法就可以了. 注入IUserService接口 在展现层添加Account控制器,注入IUserService接口,调用Login方法. 添加视图页面.…
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 一,控制器AbpController 说完了Swagger ui 我们再来说一下abp对控制器的处理和json的封装. 首先我们定义一个控制器,在新增控制器的时候,控制器会自动继承自AbpController,AbpController对ASP.NET MVC Controllers进行了集成. 并且拥有了以前强大的功能. 功能 我们看到AbpController封装了很多方法,集成了很多东西,继承自Syste…
"abp是ASP.NET Boilerplate简称,是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它旨在成为一个通用的WEB应用程序框架和项目模板" abp官方网站:https://aspnetboilerplate.com/ abp开源项目:https://github.com/aspnetboilerplate abp中主要的技术: 1,ASP.NET MVC 5.Web API 2.C# 5.0 2,DDD领域驱动设计 (Entities.Repositories.…
第一点,上一篇文章中我们讲到codefirst中一些问题包括如图 1,codefirst在执行的数据库迁移过程中产生了很多文件,对于强迫症的我而言特别不爽,这些是可以不用生成的啊 2,在codefirst实际开发过程的冲突 3,每次增加一个表或者增删改一个字段都要去敲命令,好麻烦 4,数据库初始化本地化的时候... 5,其实有时候报错不好找错误的原因 针对这些我在这个项目采用了以前get到的一种方法--脚本的方法去处理数据库 第二点,abp module-zero里面的很多东西需要一定基础才能看…
在ABP框架中,仓储,服务,这块算是最为重要一块之一了.ABP框架提供了创建和组装模块的基础,一个模块能够依赖于另一个模块,一个程序集可看成一个模块, 一个模块可以通过一个类来定义这个模块,而给定义这个类要继承自已经疯转好的AbpModule..net通过反射来获取这些程序集中的类或者方法        模块的调用往往涉及到先后顺序,如果模块A依赖于模块B,那么模块B要在模块A之前初始化,初始化就相当于注册,如使用IocManager对登记类进行注册, 上面这个方法我们就把MyModule1 注…
http://www.cnblogs.com/anyushengcms/p/7325126.html https://github.com/aspnetboilerplate/aspnetboilerplate…
ABP+AdminLTE+Bootstrap Table权限管理系统一期 Github:https://github.com/Jimmey-Jiang/ABP-ASP.NET-Boilerplate-Project-CMS 角色访问控制(RBAC) 角色访问控制(RBAC)应该是目前用得最多也是关注最多的权限管理模型了. 权限(Permission)与角色(Role)相关联,用户(User)通过成为适当角色的成员而得到这些角色的权限.这就极大地简化了权限的管理. RBAC引入了角色(Role)概…
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 很多人说ABP不适合高并发大型,有一定的道理,但是我觉得还是可以的,就看架构师的能力了,哈哈,我之前公司就是ABP绝对百万数据级项目,是一个在线教育网站,涉及到平台,学院,院系,班级,课程,学生等,一个平台多少大学,一个大学多少院系,一个院系多少班级多少课程,其负责程度一点都不简单,不说了,那是大神,比我在园子看到绝对大多数架构师都强悍.是我等仰望都对象.但是这不是停下脚步仰望的理由,只会是我们追求更强的脚步.…
SignalR简介 SignalR是什么? ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.实时 Web 功能是指这样一种功能:当所连接的客户端变得可用时服务器代码可以立即向其推送内容,而不是让服务器等待客户端请求新的数据. ASP.NET SignalR是ASP.NET开发人员的一个新库,可以使开发实时Web功能变得简单.SignalR允许服务器和客户端之间的双向通信.服务器现在可以将内容即时推送到连接的客户…
ABP+AdminLTE+Bootstrap Table权限管理系统一期 Github:https://github.com/Jimmey-Jiang/ABP-ASP.NET-Boilerplate-Project-CMS Quartz简介 Quartz.NET是一个开源的作业调度框架,是 OpenSymphony 的 Quartz API 的.NET移植,它用C#写成,可用于winform和asp.net应用中.它提供了巨大的灵活性而不牺牲简单性.你能够用它来为执行一个作业而创建简单的或复杂的…
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 缓存 为什么要用缓存 为什么要用缓存呢,说缓存之前先说使用缓存的优点. 减少寄宿服务器的往返调用(round-trips). 如果缓存在客户端或是代理,将减少对服务器的请求,减少带宽. 减少对数据库服务器的往返调用(round-trips). 当内容缓存在web服务器,能够减轻对数据库的请求. 减少网络带宽. 避免了重新生成可重用内容的时耗. 提高性能 因为缓存减少了round-trips, network t…
返回总目录:ABP+AdminLTE+Bootstrap Table权限管理系统一期 HangFire与Quartz.NET相比主要是HangFire的内置提供集成化的控制台,方便后台查看及监控,对于大家来说,比较方便. HangFire是什么 Hangfire是一个开源框架(.NET任务调度框架),可以帮助您创建,处理和管理您的后台作业,处理你不希望放入请求处理管道的操作: 通知/通讯; xml,csv,json批量导入; 创建档案; 发射web hooks; 删除用户; 建立不同的图表; 图…
安装MiniProfiler 在MVC + EF + Bootstrap 2 权限管理系统入门级(附源码)文章中下载了它的源码,调试模式下打开一个页面都要再2.5秒以上,所以使用MiniProfiler.MiniProfiler.MVC4 .MiniProfiler.EF6组件进行了分析. 首先,依次序安装组件.然后,修改Global.aspx.cs 文件: protected void Application_Start() { AreaRegistration.RegisterAllArea…
MVC .EF 学习有大半年了,用的还不是很熟练,正好以做这样一个简单的权限管理系统作为学习的切入点,还是非常合适的. 开发环境: VS 2013 + Git + MVC 5 + EF 6 Code First 权限设计 用户.角色.用户-角色.模块.权限.模块-权限.角色-模块-权限. 用户可以拥有多个角色,角色可以包含多个用户,多对多. 模块可以包含多个权限,权限可以属于多个模块,多对多. 角色可以根据不同的模块对应不同的权限,多对多. 系统架构 使用仓储(Repository)模式,参考的…
SQLSERVER 数据库性能的基本 很久没有写文章了,在系统正式上线之前,DBA一般都要测试一下服务器的性能 比如你有很多的服务器,有些做web服务器,有些做缓存服务器,有些做文件服务器,有些做数据库服务器 做数据库服务器的那台服务器性能要相对较好,磁盘,内存,CPU等等, 那么在选用其中某一台服务器作为数据库服务器之前需要测试每一台服务器的性能 并且需要设置一些硬件的参数,例如设置磁盘控制器的参数,参考文章:Writeback和Writethrough区别 那么具体怎麽测试呢?怎麽得出测试指…
http://www.cnblogs.com/landeanfen/p/4976838.html (bootstrap table) http://www.cnblogs.com/landeanfen/p/5821192.html (bootstrap table editable) 以上两篇是我搜到的相关文章,并且在自己做的东西中也用到了,十分详细,适合刚接触的人阅读学习. http://bootstrap-table.wenzhixin.net.cn/zh-cn/documentation/…
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之权限管理系统(2) 功能及实体设计 3 Asp.Net Core 项目实战之权限管理系统(3) 通过EntityFramework Core使用PostgreSQL 4 Asp.Net Core 项目实战之权限管理系统(4) 依赖注入.仓储.服务的多项目分层实现 5 Asp.Net Core 项目实…