Série COMEÇANDO - o uso da ABP na aplicação de consola

Este tutorial mostra como começar do zero com dependências mínimas começar a ABP. Você geralmente deseja  iniciar modelos  começando.

Criar um novo projeto

Criar uma nova Aplicações .Net Núcleo console usando o Visual Studio:

pacote de instalação Volo.Abp

Volo.Abp.Core é criado com base na aplicação do núcleo da ABP Nuget empacotá-lo, instalá-lo em seu projeto:

Install-Package Volo.Abp.Core

Criar o primeiro módulo ABP

PAF é uma estrutura modular, que requer a partir de uma AbpModuleclasse de derivados  módulo promotor (raiz)  classe:

using Microsoft.Extensions.DependencyInjection;
using Volo.Abp.Modularity;

namespace AbpConsoleDemo
{
    public class AppModule : AbpModule
    {
        
    }
}

AppModule módulo de inicialização do aplicativo é um nome bom.

Inicializar o aplicativo

O próximo passo é começar a usar o módulo de aplicação guia de programa criado acima:

using System;
using Volo.Abp;

namespace AbpConsoleDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var application = AbpApplicationFactory.Create<AppModule>())
            {
                application.Initialize();

                Console.WriteLine("Press ENTER to stop application...");
                Console.ReadLine();
            }
        }
    }
}

AbpApplicationFactory Aplicativo usado para criar e carregar em tudo AppModulecomo um módulo de inicialização do módulo.  Initialize()O método inicia a aplicação.

Olá Mundo!

A aplicação acima não faz nada, vamos criar um serviço para fazer algo:

using System;
using Volo.Abp.DependencyInjection;

namespace AbpConsoleDemo
{
    public class HelloWorldService : ITransientDependency
    {
        public void SayHello()
        {
            Console.WriteLine("Hello World!");
        }
    }
}

ITransientDependencyABP é uma interface especial, ele será automaticamente registrado como um serviço Transient (veja dependência documentação injeção ).

Agora, podemos analisar HelloWorldServicee invocar SayHellomudança Program.cs, como segue:

using System;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp;

namespace AbpConsoleDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            using (var application = AbpApplicationFactory.Create<AppModule>())
            {
                application.Initialize();

                // 解析服务并使用它
                var helloWorldService = 
                    application.ServiceProvider.GetService<HelloWorldService>();
                helloWorldService.SayHello();

                Console.WriteLine("Press ENTER to stop application...");
                Console.ReadLine();
            }
        }
    }
}

Isto é suficiente para este exemplo de código simples, se é directamente IServiceProvidercriado parse recomendar Scoped dependência. (Veja Dependency Injection documentação ).

Publicado 87 artigos originais · ganhou elogios 69 · Exibições 600.000 +

Acho que você gosta

Origin blog.csdn.net/S2T11Enterprise/article/details/103984426
Recomendado
Clasificación