返回顶部
首页 > 资讯 > 精选 >.NET Core如何使用APB vNext框架
  • 400
分享到

.NET Core如何使用APB vNext框架

2023-06-29 05:06:27 400人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关.net Core如何使用APB vNext框架的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。快速入门案例.net core 控制台应用1. 安装 abp 框架核心依

这篇文章给大家分享的是有关.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{    /// <summary>    /// 启动模块    /// </summary>    public class HelloAbpModule : AbpModule    {    }}
    3. 新建服务,并注册到启动模块中

    HelloWorldService.cs

    using System;using Volo.Abp.DependencyInjection;namespace HelloAbp{    /// <summary>    /// TODO: ABP 注册服务方式一: 继承接口    ///     ISingletonDependency、IScopedDependency、ITransientDependency    /// </summary>    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<HelloAbpModule>();                // 初始化 abp 应用                application.Initialize();                // 获取应用中注册的服务                var service = application.ServiceProvider.GetService<HelloWorldService>();                // 调用应用中的服务方法                 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{    /// <summary>    /// 启动模块    ///     TODO: 1.在启动模块中配置 asp.net Core Web 程序的管道,就需要定义对 ASP.NET Core Mvc模块的依赖    /// </summary>    [DependsOn(typeof(AbpAspNetCoreMvcModule))]    public class AppModule : AbpModule    {        /// <summary>        /// 应用初始化方法        ///     TODO: 2.重写 ABP 应用的初始化方法,用来构建 ASP.NET Core 应用程序的中间件管道        /// </summary>        /// <param name="context"></param>        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{    /// <summary>    /// 程序启动类    /// TODO: 3. 在 Startup 类中,完成对 ABP 应用的初始化    /// </summary>    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<AppModule>();        }        // 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{    /// <summary>    /// 控制器    ///     TODO: 4. 继承 Abp 框架中的基类控制器(提供了一些便捷的服务和方法)    /// </summary>    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{    /// <summary>    /// 启动模块    /// </summary>    public class HelloAbpModule : AbpModule    {        // TODO: 重写 ABP 模块的服务配置方法,向模块中注册自定义的服务        public override void ConfigureServices(ServiceConfigurationContext context)        {            base.ConfigureServices(context);            // TODO: ABP 注册服务方式二: 模块注册            context.Services.AddTransient<HelloWorldService>();        }    }}

    小结

    初始化ABP模块

    • 注册ABP基础设施与核心服务(模块系统相关)

    • 加载整个应用的所有模块,按照依赖性排序

    • 按顺序遍历所有模块,执行每一个模块的配置方法

    • 按顺序遍历所有模块,执行每一个模块的初始化方法

    使用标签属性注册自定义服务

    HelloWorldService.cs

    using System;using System.Collections.Generic;using System.Text;using Microsoft.Extensions.DependencyInjection;using Volo.Abp.DependencyInjection;namespace HelloAbp{    /// <summary>    /// TODO: ABP 注册服务方式三: 特性标签    ///     ServiceLifetime.Singleton、ServiceLifetime.Scoped、ServiceLifetime.Transient    /// </summary>    [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{    /// <summary>    /// 启动模块    /// </summary>    // TODO: 使用 Autofac 第三方依赖注入框架(提供了更多的高级特性)    [DependsOn(typeof(AbpAutofacModule))]    public class HelloAbpModule : AbpModule    {        public override void ConfigureServices(ServiceConfigurationContext context)        {            base.ConfigureServices(context);            context.Services.AddTransient<HelloWorldService>();        }    }}
    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<HelloAbpModule>(options =>                {                    // 集成 Autofac                     options.UseAutofac();                });                // 初始化 abp 应用                application.Initialize();                // 获取应用中注册的服务                var service = application.ServiceProvider.GetService<HelloWorldService>();                // 调用应用中的服务方法                 service.Run();            }            Console.WriteLine("Hello World!");            Console.ReadKey();        }    }}

    感谢各位的阅读!关于“.NET Core如何使用APB vNext框架”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

    --结束END--

    本文标题: .NET Core如何使用APB vNext框架

    本文链接: https://lsjlt.com/news/322840.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • .NET Core如何使用APB vNext框架
      这篇文章给大家分享的是有关.NET Core如何使用APB vNext框架的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。快速入门案例.NET Core 控制台应用1. 安装 ABP 框架核心依...
      99+
      2023-06-29
    • .NET Core使用APB vNext框架入门教程
      目录快速入门案例.NET Core 控制台应用1. 安装 ABP 框架核心依赖2. 新建 ABP 应用的启动模块3. 新建服务,并注册到启动模块中4. 根据启动模块创建 ABP应用,...
      99+
      2024-04-02
    • .Net Core微服务rpc框架GRPC通信如何运用
      本文小编为大家详细介绍“.Net Core微服务rpc框架GRPC通信如何运用”,内容详细,步骤清晰,细节处理妥当,希望这篇“.Net Core微服务rpc框架GRPC通信如何运用”文章能帮助大家解决疑惑,下面跟着小编的...
      99+
      2023-06-26
    • .Net 常用ORM框架对比:EF Core、FreeSql、SqlSuger
        前言:   最近由于工作需要,需要选用一种ORM框架,也因此对EF Core、FreeSql、SqlSuger作简单对比。个人认为各有有优势,存在即合理,不然早就被淘汰了是吧,所以如何选择因人而议、因项目而议,下面开始正题。   本篇...
      99+
      2017-02-01
      .Net 常用ORM框架对比:EF Core FreeSql SqlSuger 数据库入门 数据库基础教程 数据库 mysql
    • 使用.net core 自带DI框架实现延迟加载功能
      在某些情况,我们希望能延迟一个依赖的初始化。如果使用的是autofac,我们可以通过注入Lazy来实现。 我们对 autofac GitHub上提供的一个例子进行进行简单改造,跑起来...
      99+
      2023-02-17
      .net core 延迟加载 .net core DI框架
    • .Net使用日志框架NLog
      在Nuget中安装NLog NLog可以直接使用Nuget安装:PM > Install-Package Nlog 使用NLog NLog的使用方式基本上和其它的Log库差不多...
      99+
      2024-04-02
    • .Net Core微服务rpc框架GRPC通信实际运用
      序 上一篇博客把grpc的概念说了个大概,介绍了proto的数据类型,基本语法,也写了个小demo,是不是没那么难? 今天要从理论到实际,写两个微服务,并利用grpc完成两者之间的通...
      99+
      2024-04-02
    • Linux下如何使用Docker托管.NET Core
      这篇文章主要介绍了Linux下如何使用Docker托管.NET Core,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。.NET Core是适用于 Windows、Linux ...
      99+
      2023-06-27
    • .NET如何集成ORM框架HiSql
      这篇文章主要讲解了“.NET如何集成ORM框架HiSql”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“.NET如何集成ORM框架HiSql”吧!一、引言做.Net这么多年,出现了很多很多OR...
      99+
      2023-07-02
    • 如何在NET Core中获取CPU使用率
      这篇文章主要介绍“如何在NET Core中获取CPU使用率”,在日常操作中,相信很多人在如何在NET Core中获取CPU使用率问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何在NET&...
      99+
      2023-06-26
    • .NET Core如何使用Worker Service创建服务
      这篇文章主要介绍了.NET Core如何使用Worker Service创建服务,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。需求来源在几年前, 做的项目...
      99+
      2023-06-29
    • 如何使用 Shell 脚本执行 .NET Core 应用
      在本文中,我将研究如何创建 shell 脚本来运行简单的 .NET Core 应用程序。之所以有这个研究议题,是因为本站(pzy.io)数据库需要每天定时备份,并在备份完成后,将备份文件上传远程云存储,保证了数据安全。由...
      99+
      2022-06-04
      shell 脚本 shell 脚本执行应用 shell 脚本执行 .net core应用
    • 如何使用.NET Core创建exe应用程序
      今天小编给大家分享一下如何使用.NET Core创建exe应用程序的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。....
      99+
      2023-07-02
    • .NET日志框架Nlog使用介绍
      目录快速安装快速配置快速使用详解配置添加支持Console输出输出至CSV文件配置日志大小配置日志分级配置生成规则日志过滤器条件语言条件函数NLog是一个基于.NET平台编写的类库,...
      99+
      2024-04-02
    • .net项目使用日志框架log4net
      目录一、log4net简介二、log4net结构1、Logger:2、APPender:3、Filter:4、Layout:5、Object Render三、Log4net参数:四、...
      99+
      2024-04-02
    • .NET日志框架Nlog怎么使用
      这篇文章主要介绍“.NET日志框架Nlog怎么使用”,在日常操作中,相信很多人在.NET日志框架Nlog怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”.NET日志框架Nlog怎么使用”的疑惑有所帮助!...
      99+
      2023-06-29
    • .net日志框架Serilog怎么使用
      本篇内容介绍了“.net日志框架Serilog怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!首先安装Nuget包:Install-P...
      99+
      2023-07-02
    • .Net怎么使用日志框架NLog
      这篇文章主要讲解了“.Net怎么使用日志框架NLog”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“.Net怎么使用日志框架NLog”吧!在Nuget中安装NLogNLog可以直接使用Nuge...
      99+
      2023-07-02
    • ASP.NET Core依赖注入框架的使用
      目录一、IoC框架二、IoC-Autofac 三、.NET Core中自带DI的使用四、Autofac 使用五、批量注入 前言: 还记得上篇文章中ASP.NET Core 依赖注入详...
      99+
      2024-04-02
    • Asp.net core前端框架Blazor怎么使用
      今天小编给大家分享一下Asp.net core前端框架Blazor怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一...
      99+
      2023-07-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作