摘要:
具体接入identityserver请看文档,这里只简单列举部分步骤 1.创建一个web项目,引入Identityserver4的nuget包 2.新建一个类,实现IResourceOwnerPasswordValidator接口 ···csharp public async Task Valida 阅读全文
摘要:
添加完Swagger包引用后运行报错:Actions require an explicit HttpMethod binding for Swagger 2.0 第一时间想到了父类控制器 没有添加 [HttpPost] 之类的特性 添加后就可以解决这个报错原因 但是我的父类控制器里的两个方法只是为 阅读全文
摘要:
简介 缓存是做什么的? 简单的可以认为是一个键值对的数据存于内存中,高速读取。作用为了减少和数据库的交互 Abp中缓存的使用 Abp中的缓存可以看作一个大衣柜,里面有许多方格, 我们第一步 _cacheManager.GetCache得到的就是一个方格,里面有许多的value,value就是我们缓存 阅读全文
摘要:
简介 我们都知道ABP已经实现了仓储模式,支持EF core 和dapper 进行数据库的连接和管理,可以很方便的注入仓储来操作你的数据,不需要自己单独定义一个仓储来实现,通用的仓储实现了通用的crud接口和一些常用的方法 例如: 通用仓储的定义与实现 ABP仓储定义如下 AbpRepository 阅读全文
摘要:
简介 Unit of work:维护受业务事务影响的对象列表,并协调变化的写入和并发问题的解决。即管理对象的CRUD操作,以及相应的事务与并发问题等。Unit of Work是用来解决领域模型存储和变更工作,而这些数据层业务并不属于领域模型本身具有的 我们知道在ABP中应用服务层,仓储。默认是启用工 阅读全文
摘要:
代码分析 在abp中添加系统设置,都是在模块的预初始化方法中添加的. Configuration之前已经说过了,这是AbpModule里的属性,IAbpStartupConfiguration 这个类就是负责abp启动时的配置,以及模块的配置。之前说的模块配置是通过IAbpStartupConfig 阅读全文
摘要:
介绍 我们知道ABP中模块的配置都是通过模块的Configuration属性来设置的。例如在模块的生命周期方法中可以进行一系列的配置 审计 MQ Redis....也可以替换一些ABP默认配置 通常我们的用户模块(自定义模块)都会继承自 AbpModule ,它是ABP所有模块的基类.也是个抽象类. 阅读全文
摘要:
介绍 熟悉Asp.Net Core的都知道,无处可见的依赖注入,可以说是核心.我们的ABP框架也是,依赖注入随处可见. ABP中默认的依赖注入容器是 Castle windsor ,在使用ABP后,会在Startup执行过程中默认替换掉.Net Core自带的容器. ABP默认在它外面又包装了一层. 阅读全文
摘要:
对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边(u,v)∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序 阅读全文
摘要:
昨天在做项目的时候,用的dapper查数据用的QueryAsync 异步方法。给上级做代码审核时,上级说最好加上 .能减少一些性能开销。 因为之前没用过所以看了 clr via c 26 27章,以及参考网上资料。这里打算做个总结,什么情况下该使用这个。什么时候不使用这个 ConfigureAwai 阅读全文