Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 26892|Respuesta: 0

[.NET Core] ASP.NET Core utiliza Autofac para implementar la inyección de IOC

[Copiar enlace]
Publicado en 7/5/2019 16:32:23 | | | |
ASP.NET Core Dependency Injection utiliza el contenedor IOC que viene con ella
https://www.itsvse.com/thread-7562-1-1.html
(Fuente: Architect_Programmer)

ASP.NET Core utiliza Autofac para implementar la inyección de IOC
https://www.itsvse.com/thread-7563-1-1.html
(Fuente: Architect_Programmer)

ASP.NET Core utiliza Autofac para implementar la intercepción AOP
https://www.itsvse.com/thread-7566-1-1.html
(Fuente: Architect_Programmer)

El contenedor IOC que viene con ASP.NET Core es ligero y no tiene muchas funciones, solo funciones básicas.

Este artículo utilizará Autofac para explicar tanto los constructores como la inyección de atributos.

Autofac es un contenedor IoC genial para Microsoft .NET 4.5, Silverlight 5, aplicaciones de Windows Store y Windows Phone 8. Puede gestionar dependencias entre clases para que la aplicación pueda modificarse fácilmente a medida que crecen la escala y la complejidad. Implementa el archivo .

La versión .NET Core del proyecto es: 2.1.301

Instalar Autofac.Extensions.DependencyInjection

Instala vía nuget con el siguiente comando:



Escribimos 3 interfaces y 3 clases de implementación de forma casual, de la siguiente manera:



Inyección de constructores de controlador

Primero, modifiquemos el código de ConfigureServices en el inicio de la siguiente manera:

Nota: El valor de retorno de ConfigureServices ha cambiado a IServiceProvider.

Código del controlador:

Ejecuta el proyecto como se muestra a continuación:



Inyección de atributos Autofac del controlador

Modifica el método ConfigureServices en el inicio de la siguiente manera:

Código del controlador:

Ejecuta el proyecto como se muestra a continuación:



Puntos clave a tener en cuenta:

  • servicios. AddMvc(). SetCompatibilityVersion(CompatibilityVersion.Version_2_1).AddControllersAsServices();
  • PúblicoITestService1 _testService1 { get; set; }


Como pongo la interfaz de servicio en privada al principio, la inyección siempre es nula.

Recursos:El inicio de sesión del hipervínculo es visible.




Anterior:ASP.NET Core Dependency Injection utiliza el contenedor IOC que viene con ella
Próximo:ASP.NET Tutorial de uso de registros básicos de ILogger
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com