Autofac integrada
Autofac Net es una de marco de inyección de dependencias más utilizado en el mundo. En comparación biblioteca de inyección de dependencias estándar .Net Core, que ofrece funciones más avanzadas, tales como agentes dinámicos e inyección propiedad.
instalación Autofac
Todas las plantillas de inicio y ejemplos se han integrado Autofac. Por lo tanto, la mayoría de las veces no es necesario instalar manualmente este paquete.
Instalación Volo.Abp.Autofac NuGet paquete a su proyecto (por más de una solicitud de proyecto, se recomienda instalar un programa ejecutable o proyecto Web.)
Install-Package Volo.Abp.Autofac
A continuación, añadir sus módulos AbpAutofacModule
depende de:
using Volo.Abp.Modularity;
using Volo.Abp.Autofac;
namespace MyCompany.MyProject
{
[DependsOn(typeof(AbpAutofacModule))]
public class MyModule : AbpModule
{
//...
}
}
Por último, la configuración AbpApplicationCreationOptions
sustituir la inyección de dependencia por defecto con el servicio Autofac. Según el tipo de aplicación, la situación es diferente.
Las aplicaciones ASP.NET Core
Como se muestra a continuación, Startup.cs llama archivo UseAutofac():
public class Startup
{
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddApplication<MyWebModule>(options =>
{
//Integrate Autofac!
options.UseAutofac();
});
return services.BuildServiceProviderFromFactory();
}
public void Configure(IApplicationBuilder app)
{
app.InitializeApplication();
}
}
Aplicación de consola
Como se muestra abajo, AbpApplicationFactory.Create
con las opciones de compra UseAutofac()
Método:
using System;
using Microsoft.Extensions.DependencyInjection;
using Volo.Abp;
namespace AbpConsoleDemo
{
class Program
{
static void Main(string[] args)
{
using (var application = AbpApplicationFactory.Create<AppModule>(options =>
{
options.UseAutofac(); //Autofac integration
}))
{
//...
}
}
}
}