Abp

ABP Framework - 后台服务

## 后台服务 在ABP Framework中,后台分为作业和工作者,他们的不同点为: - 作业 - 持久性的任务,可放在队列中执行。 - 失败后会继续重试 - 工作者 - 在后台运行的独立线程 - 定期运行 ### 后台作业 依赖包:Volo.Abp.BackgroundJobs.Abstract ......
Framework 后台 ABP

解决ABP开发时奇怪的问题

在ABP vnext项目中,加载网站时出现以下错误: InvalidOperationException: Cannot find compilation library location for package 'System.Security.Cry‘ 找了好久没发现在哪出现问题,最后在http ......
问题 ABP

利用Abp过滤器实现业务数据“回收站”功能

@[toc] ## 原理 回收站是当用户删除一条记录时,不是直接从数据库中删除,而是将其放入“回收站”,以便用户可以在需要时恢复数据。 在Abp框架中,若实体实现了ISoftDelete,则将实体标记为删除时不是物理删除,而是“软删除” ``` public interface ISoftDelet ......
回收站 过滤器 功能 业务 数据

ABP Framework-对象扩展

## 对象扩展 当使用了实体类后发现还需要添加字段,或者只是添加临时的属性,此时可以使用`IHasExtraProperties `对象扩展接口,该接口中定义了一个Dictionary属性ExtraProperties 。 ### ABP的使用 在ABP中,有三个类默认实现了`IHasExtraPr ......
Framework 对象 ABP

ABP-配置设置

## 配置设置 ABP遵循的是约定大于配置,作为约定的内容需要在应用程序中进行设置。 ### 定义设置 在设置之前需要先定义他,由于ABP是模块化的,不同模块都可以拥有自己独立的设置参数,只需要在类中派生`SettingDefinitionProvider`类 ```csharp // ABP会自动 ......
ABP

abp 4.0 dto jobject

@@abp 4.0 dto jobject Abp Blazor WebAssembly - Polymorphic DTO Deserialization using System.Text.Json Abp Framework version: 5.0.0-beta2, UI: Blazor W ......
jobject abp 4.0 dto

Abp Blazor WebAssembly - Polymorphic DTO Deserialization using System.Text.Json

@@abp 4.0 dto jobject https://stackoverflow.com/questions/70032776/abp-blazor-webassembly-polymorphic-dto-deserialization-using-system-text-json 1 Abp ......

Abp Framework手动实践

上一章节有很大一部分是使用默认的CRID进行操作的,本章节将手动进行各层的编写,本次以`Student`为模块进行开发。 ## 领域层 ### 实体 在`***.Domain`项目中创建Student文件夹,并在文件夹中创建Student的实体类,该实体类继承`FullAuditedAggregat ......
手动 Framework Abp

利用ABP集成的邮件系统发送邮件

密码填写邮箱授权码,smtp设置参考QQ邮箱文档https://wx.mail.qq.com/list/readtemplate?name=app_intro.html#/agreement/authorizationCode ......
邮件 邮件系统 系统 ABP

ABP Framework

## ABP Framework ### 模板运行 #### 安装并下载模板 安装ABP CLI,第一步是安装ABP CLI ```bash dotnet tool install -g Volo.Abp.Cli ``` 然后使用 `abp new` 命令在空文件夹中创建新解决方案: ```bash ......
Framework ABP

Abp vNext 数据库连接问题

Abp vNext 数据库连接报错 项目默认连接字符串配置: "ConnectionStrings": { "Default": "Server=127.0.0.1;Database=test;Trusted_Connection=True;TrustServerCertificate=True"} ......
数据库 数据 问题 vNext Abp

ABP说搞就搞系列——模块热插拔实现(二)

Orchard是一个开源的、基于ASP.NET MVC的CMS(内容管理系统)平台,它支持模块化和主题化,允许用户方便地扩展和定制其功能。 Orchard的模块热插拔主要依赖于以下几个关键部分: 1. 模块文件结构:每个模块都被放在一个单独的文件夹中,并且有一个预定义的文件和文件夹结构,这样Orch ......
模块 ABP

ABP说搞就搞系列——ABP组件的生命周期(一)

ASP.NET Boilerplate框架中的模块生命周期包含以下几个阶段的方法: 1. `PreInitialize`:这个方法是模块配置阶段,通常在这个方法里进行模块的预配置,如配置依赖注入、添加自定义的实现类等。它在依赖项之前运行,通常在这个阶段不要解析(resolve)任何服务,因为它们可能 ......
组件 ABP 周期 生命

ABP.VNext 数据迁移问题

1. 数据库兼容性问题 本地安装的是MySQL5.6的版本, 结果一直报 "index column size too large. the maximum column size is 767 bytes" 和 数据表一直存在的问题 解决办法:卸载5.6,重新安装5.7.9 问题解决 期间尝试 m ......
数据 问题 VNext ABP

怎样优雅地增删查改(一):从0开始搭建Volo.Abp项目

@[toc] 软件系统中数据库或者持久层的基本操作功能可以用Curd描述,Curd即 增加(Create)、更新(Update)、读取查询(Retrieve)和删除(Delete), 这4个单词的首字母。 在常见的业务系统中,对数据的大部分操作都是Curd,在实践的过程中对数据的筛选、排序、分页、关 ......
项目 Volo Abp

Vue + Volo.Abp 实现Auth2.0客户端授权模式认证

@[toc] Volo.Abp的[身份服务器模块](https://docs.abp.io/zh-Hans/abp/latest/Modules/IdentityServer)默认使用 [IdentityServer4](https://identityserver4.readthedocs.io/ ......
客户端 模式 客户 Auth2 Volo

ABP的版本升级,从7.2.2升级到7.2.3

1、升级ABP CLI见前面的文章:ABP开发需要用到的命令更新最新版本: ~~~ dotnet tool update -g Volo.Abp.Cli ~~~2、升级ABP Suite见前面的文章:ABP开发需要用到的命令更新abp suite ~~~ abp suite update ~~~第一 ......
版本 ABP

artiza-abp:基于 Abp 的扩展库

# 简介 针对 ABP Framework 进行扩展。 # 运行条件 ## 运行环境 根据自己的需要选择性安装: - 数据库:支持:SqlServer、MySQL、MogoDb 等 - Redis - RabbitMQ - ..... ## 开发工具 可以选择自己喜欢的IDE: - Visual S ......
artiza-abp artiza abp Abp

ABP - 本地事件总线

# 1. 事件总线 在我们的一个应用中,经常会出现一个逻辑执行之后要跟随执行另一个逻辑的情况,例如一个用户创建了后续还需要发送邮件进行通知,或者需要初始化相应的权限等。面对这样的情况,我们当然可以顺序进行相应的逻辑代码的编写,但这样会导致各种业务逻辑全部集中耦合在一个类中,违背了 "单一职责原则"。 ......
总线 事件 ABP

ABP - 缓存模块(2)

# 1. 缓存模块源码解析 个人觉得 ABP 分布式缓存模块有三个值得关注的核心点。首先是 AbpRedisCache 类继承了微软原生的 RedisCache,并 通过反射的方式获取RedisCache的私有方法对 RedisCache 进行扩展,实现了 ABP 分布式缓存中的批量操作方法。 ![ ......
缓存 模块 ABP

ABP VNext 后台作业和后台工作者

1、后台作业和后台工作者的区别是后台作业在接受到任务之后,只执行一次。后台工作者是会在服务启动后,通过被设定的间隔事件,不断循环执行代码块中的代码。 2、后台工作者需要时间AsyncPeriodicBackgroundWorkerBase接口,然后在构造函数中注入AbpAsyncTimer和ISer ......
后台 工作者 VNext ABP

ABP VNext事件总线-本地事件

1、本地事件分为发布事件和订阅事件,其中,发布事件和订阅事件都必须要注册到ID中,使用接口 ITransientDependency 来注册,方便让事件总线发现并注册他们。 2、发布事件需要使用ID获取ILocalEventBus 服务,在定义一个发布方法之后,使用该服务的 PublishAsync ......
事件 总线 VNext ABP

解决:Volo.Abp.AbpInitializationException: An error occurred during ConfigureServices phase of the module Volo.Abp.Data.AbpDataModule, Volo.Abp.Data,

问题复现说明: 问题说明: 手动搭建AbpVnext框架,就搭了Web层,配置好WebModule和Program,运行就一直报:An error occurred during ConfigureServices phase of the module Volo.Abp.Data.AbpDataM ......

ABP与BootstrapBlazor 本地化相关处理

最近研究ABP与BootstrapBlazor搭配使用。 但涉及到本地化文件格式,及处理上,两者不同。但各有千秋。 同CRUD下:ABP是有创建、修改、查询、显示等多个模型。但是BootstrapBlazor只需一个模型就能处理所有。 BootstrapBlazor很多组件是根据模型自动解析生成编辑 ......
BootstrapBlazor ABP

abp 动态切换连接字符串并执行sql

abp 动态切换连接字符串并执行sql 仓储层 1 // 创建 DbContextOptionsBuilder 实例 2 var optionsBuilder = new DbContextOptionsBuilder<MicroServiceDbContext>(); 3 4 // 设置连接字符串 ......
字符串 字符 动态 abp sql

【机译】ABP Helper Methods

在编码时,我们经常使用扩展方法和辅助方法。它们帮助我们以声明的方式实现通用操作。我们使用它们将文本分成几行,按条件查询集合,从一种类型转换为另一种类型,以及用于许多其他目的…… 在本文中,我想展示ABP框架定义和使用的一些有用的扩展方法。我个人在日常代码中经常使用它们,它们在许多情况下可以减少开发时 ......
Methods Helper ABP

ABP点滴:API无权访问资源时,返回 PolicyName 信息

ABP无权访问API时,返回的是403 Forbidden 和重定向 Localtion ,但不知道具体是哪个Policy受阻。 整改思路: 1. 重写 ```MethodInvocationAuthorizationService```, 抛出```AbpAuthorizationExceptio ......
PolicyName 点滴 资源 信息 ABP

迁移现有用户数据到ABP vNext

## 前言 使用 ABP vNext(下文简称 ABP)时,通常都是从 cli 开始新建模板,从一个空项目开始。对已经存续的项目来说,现有的数据,特别是用户等核心数据需要进行迁移。 老的项目,随着规模越来越大,每次修改都需要更改非常多地方,最重要的是,共用数据库使得维护起来需要小心翼翼。为了后续维护 ......
数据 用户 vNext ABP

关于Abp Vnext 权限授权的问题

一.问题 最近收到一位朋友的求助,说他项目上的权限授权出现了问题,现象是在基础服务授权角色:RC 权限:X.Default,在基础服务使用RC角色的用户登录能访问到权限X.Default资源,而在X服务访问不到。重启X服务后就可以访问。 项目框架:ABP Vnext 6.0版本 数据库:共享一个 微 ......
权限 问题 Vnext Abp

ABP框架中UnitOfWorkManager.Current.SetTenantId()并不是修改AbpSession.TenantId的值

#### 1. 结论 `UnitOfWorkManager.Current.SetTenantId()`修改的是`ABP`过滤器中使用的`TenantId`,并不会修改`AbpSession.TenantId` ##### 代码演示: ![image](https://img2023.cnblogs ......