• 01.Abp-Notes:控制台程序


    控制台程序

    创建Abp控制台程序

    • 新建项目
      新建一个控制台程序Kawe.Abp.Leaning.ConsoleClient
      通过Nuget,添加Volo.Abp引用

    • 创建模块
      新建一个类ConsoleClientModule,使其继承AbpModule

    using Microsoft.Extensions.DependencyInjection;
    using Volo.Abp.Modularity;
    
    namespace Kawe.Abp.Leaning.ConsoleClient
    {
        public class ConsoleClientModule : AbpModule
        {
    
           public override void ConfigureServices(ServiceConfigurationContext context)
            {
                //在此处注入依赖项
                context.Services.AddSingleton<IMyService,MyService>();
            }
        }
    }
    
    • IMyService和IMyService
    namespace Kawe.Abp.Leaning.ConsoleClient
    {
        public interface IMyService
        {
            void Run();
        }
    }
    
        public class MyService : IMyService
        {
            public void Run()
            {
                Console.WriteLine("Hello World!");
            }
        }
    
    • Main
    using System;
    using Volo.Abp;
    using Microsoft.Extensions.DependencyInjection;
    
    namespace Kawe.Abp.Leaning.ConsoleClient
    {
        class Program
        {
            static void Main(string[] args)
            {
                using (var application = AbpApplicationFactory.Create<ConsoleClientModule>())
                {
                    application.Initialize();
    
                    var myService = application.ServiceProvider.GetService<IMyService>();
                    myService.Run();
    
                    Console.WriteLine("Press ENTER to stop application...");
                    Console.ReadLine();
    
                    application.Shutdown();
                }
            }
        }
    }
    
    • 通过Application来加载启动模块

    • 通过模块化封装模块本身的行为与依赖

    • Application接替整个应用程序的生命周期、启动、初始化、卸载

    • 通过模块化模块内的行为和依赖注入到全局application的DI容器中

    • 输出

    Hello World!
    Press ENTER to stop application...
    
  • 相关阅读:
    查看JVM使用的默认的垃圾收集器
    生产环境mysql的参数设置不一样,好好的程序,又出错
    伤秦姝行
    《道德经》全文——马王堆出土帛书版
    100篇锻炼口才表达能力的绕口令
    《道德经》部分
    40篇英语短文搞定3500个单词
    python浮点数与整数间的转化
    理解微积分
    matlab判断某个变量是否存在
  • 原文地址:https://www.cnblogs.com/easy5weikai/p/13958422.html
Copyright © 2020-2023  润新知