.NET Core如何使用APB vNext框架
发表于:2025-11-17 作者:千家信息网编辑
千家信息网最后更新 2025年11月17日,这篇文章给大家分享的是有关.NET Core如何使用APB vNext框架的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。快速入门案例.NET Core 控制台应用1. 安装
千家信息网最后更新 2025年11月17日.NET Core如何使用APB vNext框架
这篇文章给大家分享的是有关.NET Core如何使用APB vNext框架的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
快速入门案例
.NET Core 控制台应用
1. 安装 ABP 框架核心依赖
Install-Package Volo.Abp.Core -Version 3.3.2
2. 新建 ABP 应用的启动模块
HelloAbpModule.cs
using Volo.Abp.Modularity;namespace HelloAbp{ /// /// 启动模块 /// public class HelloAbpModule : AbpModule { }}3. 新建服务,并注册到启动模块中
HelloWorldService.cs
using System;using Volo.Abp.DependencyInjection;namespace HelloAbp{ /// /// TODO: ABP 注册服务方式一: 继承接口 /// ISingletonDependency、IScopedDependency、ITransientDependency /// public class HelloWorldService : ITransientDependency { public void Run() { Console.WriteLine($"{nameof(HelloAbpModule)}-{nameof(HelloWorldService)}: Hello World!"); } }}4. 根据启动模块创建 ABP应用,调用应用中注册的服务方法
Program.cs
using System;using Microsoft.Extensions.DependencyInjection;using Volo.Abp;namespace HelloAbp{ class Program { static void Main(string[] args) { // 根据启动模块创建 abp 应用 var application = AbpApplicationFactory.Create(); // 初始化 abp 应用 application.Initialize(); // 获取应用中注册的服务 var service = application.ServiceProvider.GetService(); // 调用应用中的服务方法 service.Run(); Console.ReadKey(); } }} ASP.NET Core Web 应用程序
1. 安装 ABP 框架核心依赖
Install-Package Volo.Abp.Core -Version 3.3.2Install-Package Volo.Abp.AspNetCore.Mvc -Version 3.3.2
2.新建 ABP 应用的启动模块
AppModule.cs
using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using Microsoft.AspNetCore.Builder;using Microsoft.AspNetCore.Http;using Microsoft.Extensions.Hosting;using Volo.Abp;using Volo.Abp.AspNetCore.Mvc;using Volo.Abp.Modularity;namespace HelloWebAbp{ /// /// 启动模块 /// TODO: 1.在启动模块中配置 ASP.NET Core Web 程序的管道,就需要定义对 ASP.NET Core Mvc模块的依赖 /// [DependsOn(typeof(AbpAspNetCoreMvcModule))] public class AppModule : AbpModule { /// /// 应用初始化方法 /// TODO: 2.重写 ABP 应用的初始化方法,用来构建 ASP.NET Core 应用程序的中间件管道 /// /// public override void OnApplicationInitialization(ApplicationInitializationContext context) { // base.OnApplicationInitialization(context); var app = context.GetApplicationBuilder(); var env = context.GetEnvironment(); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseRouting(); // TODO: 5.将 程序应用的端点配置 修改为 ABP 应用的端点配置 app.UseConfiguredEndpoints(); } }}3. 注册 ABP 启动模块,并初始化 ABP 应用
Startup.cs
using Microsoft.AspNetCore.Builder;using Microsoft.AspNetCore.Hosting;using Microsoft.AspNetCore.Http;using Microsoft.Extensions.DependencyInjection;using Microsoft.Extensions.Hosting;using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;namespace HelloWebAbp{ /// /// 程序启动类 /// TODO: 3. 在 Startup 类中,完成对 ABP 应用的初始化 /// public class Startup { // This method gets called by the runtime. Use this method to add services to the container. // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940 public void ConfigureServices(IServiceCollection services) { services.AddApplication(); } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { app.InitializeApplication(); } }} 4. 新建控制器,测试 ABP 应用运行状态
HomeController.cs
using Microsoft.AspNetCore.Mvc;using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using Volo.Abp.AspNetCore.Mvc;namespace HelloWebAbp.Controllers{ /// /// 控制器 /// TODO: 4. 继承 Abp 框架中的基类控制器(提供了一些便捷的服务和方法) /// public class HomeController : AbpController { public IActionResult Index() { return Content("Hello world!"); } }}各个击破案例
ABP应用中的模块可以有很多个,但是启动模块只能有一个;
ABP应用中的每个模块之间没有必然的联系;
ABP应用中每个模块注册的服务,都注册到了ABP应用的全局容器中;
ABP应用中的模块也分为两种类型:应用程序模块(业务实现)和框架模块(技术实现);
ABP应用中最顶层的模块是启动模块,最后被加载的也是启动模块。
在模块中注册自定义服务
HelloAbpModule.cs
using System;using System.Collections.Generic;using System.Text;using Microsoft.Extensions.DependencyInjection;using Volo.Abp;using Volo.Abp.Modularity;namespace HelloAbp{ /// /// 启动模块 /// public class HelloAbpModule : AbpModule { // TODO: 重写 ABP 模块的服务配置方法,向模块中注册自定义的服务 public override void ConfigureServices(ServiceConfigurationContext context) { base.ConfigureServices(context); // TODO: ABP 注册服务方式二: 模块注册 context.Services.AddTransient(); } }} 小结
初始化ABP模块
1.注册ABP基础设施与核心服务(模块系统相关)
2.加载整个应用的所有模块,按照依赖性排序
3.按顺序遍历所有模块,执行每一个模块的配置方法
4.按顺序遍历所有模块,执行每一个模块的初始化方法
使用标签属性注册自定义服务
HelloWorldService.cs
using System;using System.Collections.Generic;using System.Text;using Microsoft.Extensions.DependencyInjection;using Volo.Abp.DependencyInjection;namespace HelloAbp{ /// /// TODO: ABP 注册服务方式三: 特性标签 /// ServiceLifetime.Singleton、ServiceLifetime.Scoped、ServiceLifetime.Transient /// [Dependency(ServiceLifetime.Transient)] public class HelloWorldService { public void Run() { Console.WriteLine($"{nameof(HelloAbpModule)}-{nameof(HelloWorldService)}: Hello World!"); } }}ABP 项目中使用 Autofac
1. 安装 Autofac 模块
Install-Package Volo.Abp.Autofac -Version 3.3.2
2. 在模块中创建对 Autofac 模块的依赖
HelloAbpModule.cs
using System;using System.Collections.Generic;using System.Text;using Microsoft.Extensions.DependencyInjection;using Volo.Abp;using Volo.Abp.Autofac;using Volo.Abp.Modularity;namespace HelloAbp{ /// /// 启动模块 /// // TODO: 使用 Autofac 第三方依赖注入框架(提供了更多的高级特性) [DependsOn(typeof(AbpAutofacModule))] public class HelloAbpModule : AbpModule { public override void ConfigureServices(ServiceConfigurationContext context) { base.ConfigureServices(context); context.Services.AddTransient(); } }} 3. 在ABP应用创建时集成 Autofac
Program.cs
using System;using Microsoft.Extensions.DependencyInjection;using Volo.Abp;namespace HelloAbp{ class Program { static void Main(string[] args) { { // 根据启动模块创建 abp 应用 var application = AbpApplicationFactory.Create(options => { // 集成 Autofac options.UseAutofac(); }); // 初始化 abp 应用 application.Initialize(); // 获取应用中注册的服务 var service = application.ServiceProvider.GetService(); // 调用应用中的服务方法 service.Run(); } Console.WriteLine("Hello World!"); Console.ReadKey(); } }} 感谢各位的阅读!关于".NET Core如何使用APB vNext框架"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
模块
应用
服务
方法
框架
程序
配置
控制
应用程序
控制器
方式
更多
核心
内容
标签
特性
端点
管道
篇文章
顺序
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
广州悬赏任务软件开发公司
允许ip扫描的服务器
小米7最新数据库
服务器08ip安全策略
数据库备份方式中
我的世界免费建立一个服务器
数据库空间音频处理软件
立林管理软件出现服务器链接异常
数据库满足字段条件的表名
武装突袭服务器中怎么放置车辆
暗黑2重制版与原版服务器
拿亿互联网科技有限公司投资
手游租号服务器
服务器档案管理软件
天津社科项目数据库
网络安全方向需要学什么
c上位机串口数据库
河南欢游互联网科技
服务器cpu飙升
服务器租用支付宝
北京市软件开发平均
服务器08ip安全策略
gpu软件开发方法
数据库中允许重复值
软件开发者的职业素质
数据库索引的创建与维护
天涯明月刀服务器列表
数据库的连接密码
数据库索引类型缩写
海南工业软件开发定做价格