abp

ABP步骤

亡梦爱人 提交于 2019-12-03 16:52:41
1.修改MyFirstProject.Web.Host和MyFirstProject.Web.Mvc类库的appsettings.json文件,是连接数据库的 2.在领域层新建实体 3.在基础层把实体加进DBContext 4.数据迁移,选择MyFirstProject.EntityFrameworkCore执行Update-Database更新数据库,最好先Add-Migration "随便起的记录更新的名字" 5.应用层,写DTO和用接口写的业务逻辑。运行后MyFirstProject.Web.Host会自动根据这接口自动生成API 6.应用层MyFirstProject.Web.Mvc,注意它的ViewModel可以写逻辑,不仅仅是属性 来源: https://www.cnblogs.com/fzqm-lwz/p/11803388.html

ABP项目结构

偶尔善良 提交于 2019-12-03 14:08:18
1.XX.Core 项目核心,在DDD分层中,它应该作为领域层 2.XX.Application 应用服务层,包含各个应用逻辑 3.XX.EntityFrameworkCore 基于 EntityFrameworkCore 的封装,提供了数据库连接支持,仓储基础设施层 4.XX.Migrator 数据库迁移工具(关于数据库迁移,后面的博文会讲),用于执行迁移可以再生产环境中使用 5.XX.Web.Core 展现层核心,封装了一些展现层需要用到的工具 6.XX.Web.Host ABP的动态webapi+swagger 行 7.XX.Web.Mvc 展现层                   项目依赖关系图 来源: https://www.cnblogs.com/WebApp-DotNet/p/11798383.html

ABPvnext源码分析 (二):Autofac整合及动态代理

霸气de小男生 提交于 2019-12-03 13:33:39
写在前面: 上一篇我们讲了Abp的核心模块,这一篇我们把DI 的serviceProvider替换成Autofac,另外添加动态代理拦截器功能。动态代理指从DI容器获取组件实例时组件实例不是原实例,而是代理实例。代理实例是对原实例进行了封装, 在实例方法前后添加逻辑处理,让获取的对象表现基于应有对象但又有自己的逻辑。举个例子,代理对象方法可以在原方法前后记录时间戳,来分析原方法的处理时长。Abp Core默认使用的是微软官方的DI实现, 那个功能较简单没有代理功能,为了添加动态代理功能,我们把DI实现替换为Autofac,并使用Autofac集成的代理实现方式Castle Core。 集成Autofac,我们需要添加Volo.Abp.Autofac包,这个包本身是Abp模块,其依赖AbpCastleCoreModule模块(Volo.Abp.CatleCore) namespace Volo.Abp.Autofac { [DependsOn(typeof(AbpCastleCoreModule))] public class AbpAutofacModule : AbpModule { } } 所以我们添加Volo.Abp.Autofac包并让我们的应用模块DependsOn(typeof(AbpAutofacModule))就自动的把AbpAutofacModule

ABP中文网的一些BUG

你说的曾经没有我的故事 提交于 2019-12-03 02:25:24
之前一些翻译了的文档没有及时更新。比如 IAsyncCrudAppService接口在很久之前的版本就已经改为了ICrudAppService,如果是在官网下载的最新实例中IAsyncCrudAppService接口是已经没有的了。 所以在学习中还是可以优先看看官方英文的文档,看不懂的再看中文翻译的吧 来源: https://www.cnblogs.com/Cyril-hcj/p/11771388.html

abp(net core)+easyui+efcore实现仓储管理系统——EasyUI之货物管理六(二十四)

纵然是瞬间 提交于 2019-12-03 01:51:56
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(net core)+easyui+efcore实现仓储管理系统——定义仓储并实现 (四) abp(net core)+easyui+efcore实现仓储管理系统——创建应用服务(五) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之控制器(六) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之列表视图(七) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之增删改视图(八) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之菜单与测试(九) abp(net core)+easyui+efcore实现仓储管理系统——多语言(十) abp(net core)+easyui+efcore实现仓储管理系统——使用 WEBAPI实现CURD (十一)

会话管理之AbpSession

匿名 (未验证) 提交于 2019-12-03 00:41:02
一.AbpSession的认识 在ABP中提供了IAbpSession的接口用来获取用户和租户的信息,没有使用Asp.Net中的Session,那么AbpSession到底和Session有没有关系?具体是怎么实现的呢? 在ABP的源码中共有两个类具体实现了IAbpSession接口:NullAbpSession和ClaimAbpSession,其中NullAbpSession实现了空对象设计模式,那么主要的代码就是在这个ClaimAbpSession中 从上面的代码中我们可以看出我们的用户ID是通过PrincipalAcessor.Principal获取到的,那么这又是一个什么东西呢? 其中ClaimsPricipal是微软提供的用于登陆验证的的一个类。从上面的代码中,我们终于了解到其实AbpSession和Session没有任何关系的。我们的AbpSession就是从这个类里面获取的相应的信息(用户ID,租户ID,模拟用户Id,模拟租户ID),那么问题来了,这个ClaimsPricipal到底又是一个什么东西呢? 二.了解Identity 1.为什么要使用Asp.net Identity,它有什么优势呢? 1).作为一种用户角色管理的组件,支持Asp.net MVC、Asp.net Core 、WebApi等微软的框架,可以很方便的集成。其实我们新建的MVC项目中

ABPvnext源码分析 (二):Autofac整合及动态代理

匿名 (未验证) 提交于 2019-12-03 00:17:01
写在前面: 上一篇我们讲了Abp的核心模块,这一篇我们把DI 的serviceProvider替换成Autofac,另外添加动态代理拦截器功能。动态代理指从DI容器获取组件实例时组件实例不是原实例,而是代理实例。代理实例是对原实例进行了封装, 在实例方法前后添加逻辑处理,让获取的对象表现基于应有对象但又有自己的逻辑。举个例子,代理对象方法可以在原方法前后记录时间戳,来分析原方法的处理时长。Abp Core默认使用的是微软官方的DI实现, 那个功能较简单没有代理功能,为了添加动态代理功能,我们把DI实现替换为Autofac,并使用Autofac集成的代理实现方式Castle Core。 集成Autofac,我们需要添加Volo.Abp.Autofac包,这个包本身是Abp模块,其依赖AbpCastleCoreModule模块(Volo.Abp.CatleCore) namespace Volo.Abp.Autofac { [DependsOn(typeof(AbpCastleCoreModule))] public class AbpAutofacModule : AbpModule { } } 所以我们添加Volo.Abp.Autofac包并让我们的应用模块DependsOn(typeof(AbpAutofacModule))就自动的把AbpAutofacModule

abp(net core)+easyui+efcore实现仓储管理系统――EasyUI之货物管理六(二十四)

匿名 (未验证) 提交于 2019-12-03 00:15:02
abp(net core)+easyui+efcore实现仓储管理系统――领域层创建实体(三) abp(net core)+easyui+efcore实现仓储管理系统――定义仓储并实现 (四) abp(net core)+easyui+efcore实现仓储管理系统――创建应用服务(五) abp(net core)+easyui+efcore实现仓储管理系统――展现层实现增删改查之控制器(六) abp(net core)+easyui+efcore实现仓储管理系统――展现层实现增删改查之列表视图(七) abp(net core)+easyui+efcore实现仓储管理系统――展现层实现增删改查之增删改视图(八) abp(net core)+easyui+efcore实现仓储管理系统――展现层实现增删改查之菜单与测试(九) abp(net core)+easyui+efcore实现仓储管理系统――多语言(十) abp(net core)+easyui+efcore实现仓储管理系统――使用 WEBAPI实现CURD (十一) abp(net core)+easyui+efcore实现仓储管理系统――菜单-上 (十六) abp(net core)+easyui+efcore实现仓储管理系统――EasyUI前端页面框架 (十八) abp(net core)+easyui

ABP 基本操作

匿名 (未验证) 提交于 2019-12-02 23:52:01
基本信息: 官网:https://aspnetboilerplate.com api:https://aspnetboilerplate.com/Pages/Documents/Articles-Tutorials 官网文档照着弄一般都能运行,就是一些代码是没有给出相应的路径,或者有一些下的地方文档和示例代码是不一样的,把遇到的记录一下

使用ABP框架踩过的坑系列5

匿名 (未验证) 提交于 2019-12-02 22:10:10
public static class DbContextConfigurer { public static void Configure(DbContextOptionsBuilder<DbContext> builder, string connectionString) { //builder.UseSqlServer(connectionString); //使用MSSQL builder //.UseLoggerFactory(MyLoggerFactory) .UseMySql(connectionString); //使用MySql } public static void Configure(DbContextOptionsBuilder<DbContext> builder, DbConnection connection) { //builder.UseSqlServer(connection); builder.UseMySql(connection); } } 用ABP模板生成的项目中,如果使用.netcore和EFcore, 就会有DbContextConfigurer,只要安装了Microsoft.entityframeworkcore.mysql, 就可以使用UseMySql这个扩展方法, "ConnectionStrings": { //