[Abp 源码分析]十二、多租户体系与权限验证

0.简介 承接上篇文章我们会在这篇文章详细解说一下 Abp 是如何结合 与 来实现一个完整的多租户系统的权限校验的。 1.多租户的概念 多租户系统又被称之为 Saas ,比如阿里云就是一个典型的多租户系统,用户本身就是一个租户,可以在上面购买自己的 ECS 实例,并且自己的数据与其他使用者(租户)所 ... »

Abp + Grpc 如何用户实现会话状态传递

0.背景 在实际项目当中,我们采用的是 Abp 框架,但是 Abp 框架官方并没有针对 Grpc 进行模块封装。基于此我结合 Abp 与 MagicOnion 封装了一个 Abp.Grpc 模块,它包括服务端和调用端两部分的包。通过这两个包,你可以很方便地在 Abp 框架当中集成 Grpc 实现服务 ... »

.net core 2.1-----Sql Server数据库初体验

刚开始接触asp.net core,在学习的过程中遇到了一些小问题,在这里记录一下! 在我们项目的开发过程中,肯定会和数据库打交道,所以我尝试了一下用asp.net core链接数据库,并读取表中的数据(当然你必须保证有能访问的sql server数据库)! 首先,新建项目:ASP.NET Core ... »

Asp.Net Core SignalR 与微信小程序交互笔记

什么是Asp.Net Core SignalR Asp.Net Core SignalR 是微软开发的一套基于Asp.Net Core的与Web进行实时交互的类库,它使我们的应用能够实时的把数据推送给Web客户端。 功能 自动管理连接 允许同时广播到所有客户端 也可以广播到指定的组或者特定的客户端 ... »

[Abp 源码分析]八、缓存管理

0.简介 缓存在一个业务系统中十分重要,常用的场景就是用来储存调用频率较高的数据。Abp 也提供了一套缓存机制供用户使用,在使用 Abp 框架的时候可以通过注入 来新建/设置缓存。 同时 Abp 框架也提供了 Redis 版本的 实现,你也可以很方便的将现有的内存缓存替换为 Redis 缓存。 0. ... »

[Abp 源码分析]七、仓储与 Entity Framework Core

0.简介 Abp 框架在其内部实现了仓储模式,并且支持 EF Core 与 Dapper 来进行数据库连接与管理,你可以很方便地通过注入仓储来操作你的数据。 例如: 1.仓储定义与实现 在 Abp 内部,仓储的基本定义存放在 Abp 项目的 Domain/Repositories 内部,包括以下几个 ... »

ASP.NET Core Web API 集成测试

本文需要您了解ASP.NET Core Web API 和 xUnit的相关知识. 这里有xUnit的介绍: https://www.cnblogs.com/cgzl/p/9178672.html#test ASP.NET Core集成测试官方文档: https://docs.microsoft.c ... »

[Abp 源码分析]六、工作单元的实现

0.简介 在 Abp 框架内部实现了工作单元,在这里讲解一下,什么是工作单元? Unit Of Work(工作单元)模式用来维护一个由已经被业务事物修改(增加、删除或更新)的业务对象组成的列表。Unit Of Work模式负责协调这些修改的持久化工作以及所有标记的并发问题。在数据访问层中采用Unit ... »

关于单元测试的思考--Asp.Net Core单元测试最佳实践

在我们码字过程中,单元测试是必不可少的。但在从业过程中,很开发者却对单元测试望而却步。有些时候并不是不想写,而是常常会碰到诸如不能模拟一次HTTP请求,不能读取配置文件,测试类的构造参数太多等问题,让开发者放下了码字的脚步。这些问题确实存在,但它们阻止不了我们那颗要写单元测试的心。单元测试的优点很多... ... »

【基于EF Core的Code First模式的DotNetCore快速开发框架】完成对DB First代码生成的支持

前言 距离上一篇文章《基于EF Core的Code First模式的DotNetCore快速开发框架》已过去大半个年头,时光荏苒,岁月如梭。。。比较尴尬的是,在这大半个年头里,除了日常带娃溜娃做饭,偶尔接几个私单外,个人开源项目几乎没啥动静。那么日常工作干些什么呢?肯定是坚守Nfx啊。。。为什么呢? ... »

[Abp 源码分析]五、系统设置

0.简要介绍 Abp 本身有两种设置,一种就是 "上一篇文章" 所介绍的模块配置 Configuration,该配置主要用于一些复杂的数据类型设置,不仅仅是字符串,也有可能是一些 C 运行时的一些变量。另外一种则是本篇文章所讲的 Setting,Setting 主要用于配置一些简单的参数,比如 SM ... »

ASP.NET Core WebApi使用Swagger生成api说明文档看这篇就够了

引言 在使用asp.net core 进行api开发完成后,书写api说明文档对于程序员来说想必是件很痛苦的事情吧,但文档又必须写,而且文档的格式如果没有具体要求的话,最终完成的文档则完全取决于开发者的心情。或者详细点,或者简单点。那么有没有一种快速有效的方法来构建api说明文档呢?答案是肯定的, ... »

Asp.Net Core使用NLog+Mysql的几个小问题

项目中使用NLog记录日志,很好用,之前一直放在文本文件中,准备放到db中,方便查询。 项目使用了Mysql,所以日志也放到Mysql上,安装NLog不用说,接着你需要安装Mysql.Data安装包: 接着打开你的NLog,新增一个 : 如果你的数据库连接不支持SSL的话(开发机一般都没有吧),一定 ... »

在Asp.Net Core中使用DI的方式使用Hangfire构建后台执行脚本

最近项目中需要用到后台Job,原有在Windows中我们会使用命令行程序结合计划任务或者直接生成Windows Service,现在.Net Core跨平台了,虽然Linux下也有计划任务,但跟原有方式一样,没撒图形界面,执行结果之类的只能去服务器查看日志。 看了下Hangfire,基本满足于现有需 ... »

[Abp 源码分析]三、依赖注入

0.简要介绍 在 Abp 框架里面,无时无刻不存在依赖注入,关于依赖注入的作用与好处我就不在这里多加赘述了,网上有很多解释的教程。在 "[Abp 源码分析]一、Abp 框架启动流程分析" 里面已经说过,Abp 本身在框架初始化的时候我们就可以看到它使用 Castle Windsor 将 Asp.Ne ... »