zoukankan      html  css  js  c++  java
  • 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...
    
  • 相关阅读:
    使用window.postMessage实现跨域通信
    关于angularJS绑定数据时自动转义html标签
    细小知识点
    理解Java多态
    Java自定义类加载器与双亲委派模型详解
    python之5种数据类型7种运算符
    Innodb中的事务隔离级别实现原理
    Redis分布式锁
    leetcode series:Two Sum
    设计模式六大原则(转)
  • 原文地址:https://www.cnblogs.com/easy5weikai/p/13958422.html
Copyright © 2011-2022 走看看