Abp vnext版本为:4.4.3 原本的使用方式如下: 1 var model=ObjectMapper.Map<CreateUpdateOrder, Order>(input); 但是很明显,model的product属性仍然被覆盖掉了。 换成如下这种方式就好使: var model=new Order();ObjectMapper.Map(input,model);//input type is :CreateUpdateOr
前言 上一节咱们讲了LocalEventBus,本节来讲本地事件总线(DistributedEventBus),采用的RabbitMQ进行实现。 Volo.Abp.EventBus.RabbitMQ模块内部代码并不多,RabbitMQ的操作都集中在Volo.Abp.RabbitMQ这个包中。 正文 我们从模块定义开始看,项目启动的时候分别读取了appsetting.json的配
Abp VNext 分表分库 ShardingCore ShardingCore 易用、简单、高性能、普适性,是一款扩展针对efcore生态下的分表分库的扩展解决方案,支持efcore2+的所有版本,支持efcore2+的所有数据库、支持自定义路由、动态路由、高性能分页、读写分离的一款组件,如果你喜欢这组件或者这个组件
※ 官网介绍: (一)Domain.Shared 项目包含常量,枚举和其他对象,这些对象实际上是领域层的一部分,但是解决方案中所有层/项目中都会使用到。 该项目不依赖解决方案中的其他项目,其他项目直接或间接依赖该项目。 (二)Domain 解决方案的领域层. 它主要包含 实体, 集合根, 领域服务,
说明 Abp vNext基础篇的文章还差一个单元测试模块就基本上完成了我争取10.1放假之前给大家赶稿出来,后面我们会开始进阶篇,开始拆一些东西,具体要做的事我会单独开一个文章来讲 缘起 本篇文章缘起于dyAbp大佬们在给夏琳儿(简称:小富婆)讲解技术的时候发起,因为多用户设计和用户扩展属性
介绍 本章节来把接口的权限加一下 权限配置和使用 官方地址:https://docs.abp.io/en/abp/latest/Authorization 下面这种代码可能我们日常开发都写过,ASP.NET Core 提供的Authorize特性来帮我们做授权,但是BookStore_Author_Create策略,需要我们去手动声明。 Abp定义了一个叫Permiss
介绍 本章节先来把上一章漏掉的上传文件处理下,然后实现Tag功能。 上传文件 上传文件其实不含在任何一个聚合中,它属于一个独立的辅助性功能,先把抽象接口定义一下,在Bcvp.Blog.Core.Application.Contracts层Blog内新建File文件夹。 一个是根据文件name获取文件,一个是创建文件,另外Bl
前言 首先非常感谢老哥提出的问题 @落叶子 IdentityServer、用户、角色、组织 你都没用到 然后生成那么多没用的表,这点感觉不怎么好 首先回答一下上一章,大家提出的疑问,首先我本次搭建的这个项目,在安排上其实需要用到以上的东西。 但是如果说你在用的时候发现abp默认生成的很多表
之前用过abp framework。在使用 vnext 时,目前最大的感受是颠覆了我对于导航属性的认知。 因为不符合 DDD 理念,不再被 abp 所推荐使用了,所以在使用操作关联实体时(继承了 AggregateRoot 的实体),只能手动操作了。对我EF的使用习惯形成了很大的冲击。 https://github.com/abpframework/
介绍 很久没有更新博客了,之前想更新但是发现博客园崩了,外加工作上的调换也比较忙,最近有了点时间我来继续更新下这个系列的文章。 今年3月份我带着我们研发组同事,将公司产品从老Abp重构到Abp vNext目前已经上线,我非常确认Abp vNext完全可以应用到生产环境,并且他足以支撑超复杂业务
介绍 很久没有更新博客了,之前想更新但是发现博客园崩了,外加工作上的调换也比较忙,最近有了点时间我来继续更新下这个系列的文章。 今年3月份我带着我们研发组同事,将公司产品从老Abp重构到Abp vNext目前已经上线,我非常确认Abp vNext完全可以应用到生产环境,并且他足以支撑超复杂业务
一、前言在文章 【Abp VNext】实战入门(十二):【1】角色权限管理 —— 后端对应的框架结构表 中讲解了用户、角色、权限、功能之间的关系以及对应的后端数据库表架构 ; 还有AbpVnext Web项目中 自带的集成好的用户角色管理; 本章主要讲解如何简单快捷的使用AbpVnext自带功能接口来修改
一、简介 ABP vNext 使用 Volo.Abp.Sms 包和 Volo.Abp.Emailing 包将短信和电子邮件作为基础设施进行了抽象,开发人员仅需要在使用的时候注入 ISmsSender 或 IEmailSender 即可实现短信发送和邮件发送。 二、源码分析 2.1 启动模块 短信发送的抽象层比较简单,AbpSmsModule 模块内部
对于模块的实体属性,都是在模块中定义好的,无法更改模块内部代码。我们可以通过扩展实体来向模块实体增加属性。这些扩展是针对abpvnext底层的一些对象对应的表,比如:IdentityUser,如果是自己创建的就不建议以下这样的更改,直接操作就好了,简单的说,你自己的对象通常不需要对象扩展系统,因
目录 前言 开始 模块运行 动态 C# API 客户端 最后 前言 很久没更新这个系列。。。之前的章节中讲到ABP的模块是可以独立运行的,但是没有介绍具体怎么操作,本篇就来讨论一下模块如何独立运行,以及一些托管方式。本人也是处于摸索阶段,如有不对欢迎指出。 开始 模块运行 首先
目录 前言 开始 聚合根 仓储 领域服务 BLOB存储 应用服务 单元测试 模块引用 最后 前言 在前两节中介绍了ABP模块开发的基本步骤,试着实现了一个简单的文件管理模块;功能很简单,就是基于本地文件系统来完成文件的读写操作,数据也并没有保存到数据库,所以之前只简单使用了
目录 前言 开始 定义设置 使用设置 最后 前言 上一篇介绍了ABP模块化开发的基本步骤,完成了一个简单的文件上传功能。通常的模块都有一些自己的配置信息,比如上篇讲到的FileOptions类,其中配置了文件的上传目录,允许的文件大小和允许的文件类型。配置信息可以通过Configur
目录 前言 开始 定义特征 应用特征 用户数量 社交登录 最后 前言 上一篇提到了ABP功能管理(特征管理),它来自ABP的FeatureManagement模块,ABP官方文档貌似还没有这个模块的相关说明,但是个人感觉这个模块非常实用,下面就简单介绍一个特征管理的基本应用。 开始 在租户管理
目录 前言 开始 按钮级权限 身份认证管理 R/U权限 权限刷新 租户管理 租户切换 效果 最后 前言 上一篇介绍了vue+ABP国际化的基本实现,本篇开始功能模块的开发,首先完成ABP模板自带的身份认证管理模块和租户管理模块。同样的,参考ABP的Angular版本来做。 开始 功能模块
目录 前言 开始 语言选项 语言切换 注意 最后 前言 上一篇介绍了ABP扩展实体,并且在前端部分新增了身份认证管理和租户管理的菜单,在实现这两个功能模块前,先来解决一下界面文字国际化的问题。 开始 国际化(简称 I18N),本地化(简称 L10N);这两者的目的都是用于让你的应用程序
目录 前言 开始 扩展实体 路由整理 最后 前言 上一篇实现了前端vue部分的用户登录和菜单权限控制,但是有一些问题需要解决,比如用户头像、用户介绍字段目前还没有,下面就来完善一下。 开始 因为用户实体是ABP模板自动生成的,其中的属性都预先定义好了,但是ABP是允许我们扩
目录 前言 开始 登录 菜单权限 运行测试 最后 前言 上一篇已经创建好了前后端项目,本篇开始编码部分。 开始 几乎所有的系统都绕不开登录功能,那么就从登录开始,完成用户登录以及用户菜单权限控制。 登录 首先用户输入账号密码点击登录,然后组合以下参数调用identityserver的
目录 前言 开始 登录 权限 本地化 创建项目 ABP vue-element-admin 最后 前言 上一篇介绍了ABP的启动模板以及AbpHelper工具的基本使用,这一篇将进入项目实战部分。因为目前ABP的官方模板只支持MVC和Angular,MVC的话咱.NET开发人员来写还可以,专业前端估计很少会用这个
目录 前言 开始 AbpHelper 模块安装 最后 前言 上一篇介绍了ABP的一些基础知识,本篇继续介绍ABP的启动模板。使用ABP CLI命令就可以得到这个启动模板,其中包含了一些基础功能模块,你可以基于这个模板来快速开发。 开始 首先ABP CLI的安装以及基本指令这些就不说了,官网上
Domain 层 <PackageReference Include="Volo.Abp.Identity.Domain" Version="4.3.2" /> <PackageReference Include="Volo.Abp.PermissionManagement.Domain.Identity" Version="4.3.2" /> <PackageReference Inc