ABP vnext知识整理

news/2024/5/19 23:43:26 标签: .netcore, asp.net, c#

定义

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

http://www.niftyadmin.cn/n/1704916.html

相关文章

移动安全--2--四大组件之活动(Activity)

2-1、Activity的基本理论 Activity定义:是一种可以包含用户界面的组件,主要用于和用户进行交互。 Android程序设计讲究逻辑和视图分离,最好每一个活动都能对应一个布局,布局就是用来显示界面内容的。使用一个Activity集中于单个任务并为各个任务创建不同的Activity是最佳…

130道ASP.NET面试题,我只会80道!

1. 简述 private、 protected、 public、 internal 修饰符的访问权限。答 . private : 私有成员, 在类的内部才可以访问。 protected : 保护成员&#xff0c;该类内部和继承类中可以访问。 public : 公共成员&#xff0c;完全公开&#xff0c;没有访问限制。 internal: 在同一命…

PI java stack Archiving and Delete

Message Security Archiving Monitor 可以设置归档参数&#xff0c;归档监控 地址&#xff1a; http://<host>:5<sys#>00/mdt 定义 Background Processing &#xff08;归档及删除job&#xff09; 保留天数在VA可以配置&#xff0c;job定义在此处定义

Docker的定义

本博客地址&#xff1a;https://security.blog.csdn.net/article/details/82839963 不说别的&#xff0c;先上链接&#xff1a;http://www.runoob.com/docker/docker-tutorial.html 主要点说明&#xff1a; Docker的定义 Docker 是一个开源的应用容器引擎&#xff0c;基于 …

ABP vnext 控制器知识整理

使用 新增控制器例1返回json字符串例2返回文件流例3Swagger页面展示注释例4自动控制器例5上传文件例6隐藏api例7 ABP通过Abp.Web.Mvc nuget包集成了ASP.NET MVC控制器。可像常规那样创建MVC控制器。 例1 控制器常用模板 XXX.HttpApi\Controllers\XXXXController.cs [Remot…

mysql中Table is read only错误解决方法

今天再我把数据库data 拷贝到linux 下运行程序 ”mysql中Table is read only的解决“ 出现这样的问题&#xff0c;查询资料。 linux下执行如下命令即可 #mysqladmin -u root -p flush-tables 还有就是目录权限问题 因为数据较多&#xff0c;导出-》导入比较慢&#xff0c;我是直…

移动安全--3--四大组件之服务 (Service)

3-1、基础理论 服务(Service)是Android中实现程序后台运行的解决方案,用于执行那些不需要和用户交互而且还要求长期运行的任务。Service缺少可视化界面并且通常作为后台长时间运行的任务。当服务所在的应用程序被杀掉时,该进程的服务也会停止。 即使负责启动它的Activity已…

判断项目成败的六个要素

1、制定切实的目标&#xff0c;不要轻易改动目标。频繁的修改项目目标会大大影响项目的进度和增大项目的风险。 2、积极争取“一把手”的支持。如果没有一把手在资金支持、人员配备、流程调整等方面的强有力的持续支持&#xff0c;很难获得成功。 3、大力开展针对项目各阶段、各…