ABP vnext知识整理

定义

Abp vNext是ABP团队从2017年开始基于.Net Core对ASP.NET Boilerplate的重写版本,并且正式命名为Abp Framework,也称Abp vNext或者ABP

使用

控制台程序中应用ABP例1
Asp.net core中应用ABP例2
创建ABP项目例3 例4

例1

控制台程序中使用ABP框架

  1. Nuget安装Volo.Abp.Core

  2. 创建模块类:HelloAbpModule.cs

    using Volo.Abp.Modularity;
    namespace HelloAbp
    {
        public class HelloAbpModule:AbpModule
        {
        }
    }
    
  3. 创建服务类:HelloWorldService.cs

    using System;
    using Volo.Abp.DependencyInjection;
    
    namespace HelloAbp
    {
        public class HelloWorldService: ITransientDependency//实现此接口的服务会自动注册
        {
            public void Run()
            {
                Console.WriteLine("hello world");
            }
        }
    }
    
  4. 创建应用

    using Microsoft.Extensions.DependencyInjection;
    using Volo.Abp;
    namespace HelloAbp
    {
        class Program
        {
            static void Main(string[] args)
            {
                var application = AbpApplicationFactory.Create<HelloAbpModule>();
                application.Initialize();
    
                var service = application.ServiceProvider.GetService<HelloWorldService>();
                service.Run();
            }
        }
    }
    

例2

在Asp.net core中应用ABP

  1. 创新空Asp.net Core应用

  2. Nuget中安装Volo.Abp.AspNetCore.MvcVolo.Abp.Core

  3. 创建启动模块类:AppModule.cs

    using Microsoft.AspNetCore.Builder;
    using Microsoft.Extensions.Hosting;
    using Volo.Abp;
    using Volo.Abp.AspNetCore.Mvc;
    using Volo.Abp.Modularity;
    
    namespace WebApplication
    {
        [DependsOn(typeof(AbpAspNetCoreMvcModule))]
        public class AppModule:AbpModule
        {
            public override void OnApplicationInitialization(ApplicationInitializationContext context)
            {
                //Startup类中中间件管道的配置移动到此
                var app = context.GetApplicationBuilder();
                var env = context.GetEnvironment();
                if (env.IsDevelopment())
                {
                    app.UseDeveloperExceptionPage();
                }
                app.UseRouting();
                app.UseConfiguredEndpoints();
            }
        }
    }
    
  4. 注册启动模块并初始化应用

    using Microsoft.AspNetCore.Builder;
    using Microsoft.AspNetCore.Hosting;
    using Microsoft.Extensions.DependencyInjection;
    
    namespace WebApplication
    {
        public class Startup
        {
            public void ConfigureServices(IServiceCollection services)
            {
                services.AddApplication<AppModule>();
            }
            public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
            {
                app.InitializeApplication();
            }
        }
    }
    
  5. 创建控制器

    using Microsoft.AspNetCore.Mvc;
    using Volo.Abp.AspNetCore.Mvc;
    
    namespace WebApplication.Controllers
    {
        public class HomeController:AbpController
        {
            public IActionResult Index()
            {
                return Content("hello world");
            }
        }
    }
    

例3

使用命令行工具创建ABP项目

  1. 安装Volo.Abp Cli

    dotnet tool install -g Volo.Abp.Cli
    
  2. 执行以下命令创建项目

    abp new DemoProjectName
    //abp new AbpDemo -t module --no-ui --create-solution-folder
    

例4

创建一个控制台应用

abp new nameLv1.MyConsoleApp -t console
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值