首页
归档
关于
Search
1
C服务器端
9 阅读
2
1.数据流图(下午题)
8 阅读
3
管道处理模型
8 阅读
4
数据结构与算法
8 阅读
5
3.面向对象设计
7 阅读
软件设计师笔记
.Net
Java
数据库
PHP
运维
前端
Python
中间件相关
云原生
架构设计
Search
标签搜索
websocket
科技新闻
Bi8bo
累计撰写
267
篇文章
累计收到
2
条评论
首页
栏目
软件设计师笔记
.Net
Java
数据库
PHP
运维
前端
Python
中间件相关
云原生
架构设计
页面
归档
关于
搜索到
6
篇与
的结果
2025-04-03
1.ABP初始化
1.创建ASP.Net Core Web应用程序2.导入Volo.Abp.AspNetCore.Mvc nuget包
2025年04月03日
4 阅读
0 评论
0 点赞
2025-04-03
2.模块化开发
Abp每一个项目都是模块,按模块开发,模块依赖型的[DependsOn] (依赖) Abp的核心就是模块依赖namespace AbpDemo { [DependsOn(typeof(AbpAspNetCoreMvcModule))] public class AbpDemoModule:AbpModule { /// <summary> /// 服务依赖注入 /// </summary> /// <param name="context"></param> public override void ConfigureServices(ServiceConfigurationContext context) { base.ConfigureServices(context); } /// <summary> /// 中间件配置 /// </summary> /// <param name="context"></param> public override void OnApplicationInitialization(ApplicationInitializationContext context) { base.OnApplicationInitialization(context); } } }2.把启动类里面的依赖注入builder.Services.XXX转移到模块类的ConfigureServices3.把启动类的app.UseXXX使用中间件等代码转移到OnApplicationInitialization调整完后Program.cs启动类变成using AbpDemo; var builder = WebApplication.CreateBuilder(args); // 重新注册 Configuration 不加启动会报错 builder.Services.ReplaceConfiguration(builder.Configuration); //添加自定义模块 builder.Services.AddApplication<AbpDemoModule>(); //* 同上等效代码 //* 添加自定义模块 DemoWebApiModule //builder.Services.AddApplication<DemoWebApiModule>(options => { //options.Services.ReplaceConfiguration(builder.Configuration); // 重新注册 Configuration //}); var app = builder.Build(); app.InitializeApplication(); app.Run();Module类:using Volo.Abp; using Volo.Abp.AspNetCore.Mvc; using Volo.Abp.Modularity; namespace AbpDemo { [DependsOn( typeof(AbpAspNetCoreMvcModule), typeof(AbpAutofacModule) )] public class AbpDemoModule : AbpModule { /// <summary> /// 服务依赖注入 /// </summary> /// <param name="context"></param> public override void ConfigureServices(ServiceConfigurationContext context) { context.Services.AddControllersWithViews(); } /// <summary> /// 中间件配置 /// </summary> /// <param name="context"></param> public override void OnApplicationInitialization(ApplicationInitializationContext context) { var app = context.GetApplicationBuilder(); if (!context.GetEnvironment().IsDevelopment()) { app.UseExceptionHandler("/Home/Error"); } app.UseStaticFiles(); app.UseRouting(); app.UseAuthorization(); app.UseEndpoints( end => { end.MapControllerRoute( name: "default", pattern: "{controller=Home}/{action=Index}/{id?}" ); } ); } } }项目启动即可
2025年04月03日
3 阅读
0 评论
0 点赞
2025-04-03
3.依赖注入
模块之间的引用是通过依赖注入
2025年04月03日
3 阅读
0 评论
0 点赞
2025-04-03
4.基础设施层构建
EntityFramewrokCore 层构建1.创建EntityFrameworkCore项目2.引用Volo.Abp.AspNetCore //ABP核心Volo.Abp.EntityFrameworkCore //EFCore支持性3.创建Module文件继承AbpModule,依赖AbpEntityFrameworkCoreModule [DependsOn(typeof(Volo.Abp.EntityFrameworkCore.AbpEntityFrameworkCoreModule))] public class AbpEntityFrameworkCoreModule:AbpModule { }4.创建数据库Context上下文类继承AbpDbContext public class AbpEntityDBContext : AbpDbContext<AbpEntityDBContext> { public AbpEntityDBContext(DbContextOptions<AbpEntityDBContext> options) : base(options) { } protected override void OnModelCreating(ModelBuilder modelBuilder) { base.OnModelCreating(modelBuilder); } }5.EntityFramewrokCore模块里面注入DbContext [DependsOn(typeof(Volo.Abp.EntityFrameworkCore.AbpEntityFrameworkCoreModule))] public class AbpEntityFrameworkCoreModule:AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { //注入DB context.Services.AddAbpDbContext<AbpEntityDBContext>(); //使用sqlserver数据库 Configure<AbpDbContextOptions>(opt => opt.UseSqlServer()); } }6.在Web主程序appsettings.json里面配置连接字符串7.在数据库上下文类加入特性[ConnectionStringName("Default")]完成连接字符串配置8.配置主模块加入依赖 typeof(AbpDemoEntityFrameworkCoreModule)
2025年04月03日
3 阅读
0 评论
0 点赞
2025-04-03
5.领域(Domain)层构建
1.领域层放数据库对应的实体引入 Volo.Abp.AspNetCore, Volo.Abp.Ddd.Domain [DependsOn( typeof(AbpDddDomainModule) //依赖领域模块 )] public class AbpDemoDomainModule:AbpModule { }
2025年04月03日
3 阅读
0 评论
0 点赞
1
2