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 AbpModule
classe 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 AppModule
como 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!");
}
}
}
ITransientDependency
ABP é uma interface especial, ele será automaticamente registrado como um serviço Transient (veja dependência documentação injeção ).
Agora, podemos analisar HelloWorldService
e invocar SayHello
mudanç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 IServiceProvider
criado parse recomendar Scoped dependência. (Veja Dependency Injection documentação ).