【Abp笔记】控制台使用 Abp

控制台使用 Abp

1. 安装 Volo.Abp.Core 并生成项目,生成是为了还原 Nuget 包

选择合适版本安装

  <ItemGroup>
    <PackageReference Include="Volo.Abp.Castle.Core" Version="6.0.1" />
  </ItemGroup>

2. 创建自己的入口 Module,需要继承自 AbpModule

public class MyModule : AbpModule
{
    public override void ConfigureServices(ServiceConfigurationContext context)
    {
        Console.WriteLine("Hello, ConfigureServices!");
    }
    public override void OnApplicationInitialization(ApplicationInitializationContext context)
    {
        Console.WriteLine("Hello, OnApplicationInitialization!");
    }
}

3. 使用 AbpApplicationFactory 创建一个 app

  1. 使用 await AbpApplicationFactory.CreateAsync<MyModule>() 创建一个应用
    这里表示使用 MyModule 作为入口模块。此时,这里所有依赖的模块内重写后的ConfigureService方法 (以及所有的Pre、Post前缀的方法)都会被执行。
  2. 使用 await app.InitializeAsync(); 或者 app.Initialize();,初始化应用
    主要就是根据配置的 ServiceCollection 创建一个 ServiceProvider
    这个方法执行的时候会把入口模块相关的所有模块内重写的 OnApplicationInitialization() 以及所有Pre、Post前缀的方法都执行一遍(暂时不管)
using Volo.Abp;
using Volo.Abp.Modularity;

// 创建一个 Abp 应用
var app = await AbpApplicationFactory.CreateAsync<MyModule>(); 
// 初始化应用
await app.InitializeAsync();

4. 运行控制台输出

Hello, ConfigureServices!
Hello, OnApplicationInitialization!

其他

Volo.Abp.Core 是基于 .NETStandard2.0 封装
Framework4.6.1 或者任何 Core 版本都能使用。也就是说控制台程序,甚至 Winform 其实都是可以使用这个的。

posted @ 2022-11-22 21:45  wosperry  阅读(256)  评论(0编辑  收藏  举报