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: 253|Respuesta: 0

[ASP.NET] ASP.NET Core (32) depende de la inyección de servicios clave KeyedServices

[Copiar enlace]
Publicado el 2025-10-11 11:15:07 | | | |
¿Qué es KeyedServices?

La inyección de dependencias (DI) es ubicua en ASP.NET Core. Puedes usarlo para servicios personalizados, pero lo más importante es que el propio framework siempre usa también DI. La mayoría de lo que puedes configurar en ASP.NET Core se configura a través de DI.

Para los servicios con clave, otra información se almacena en el ServiceDescriptor, que es la Clave de Servicio utilizada para identificar el servicio. La clave puede ser cualquier objeto, pero normalmente cadena o enum (pueden ser constantes, por lo que pueden usarse en propiedades). Para servicios sin clave, registro de identidad; Para los servicios de clave, se registra el registro combinado de identidad con ServiceType. ServiceTypeServiceKey。

Un servicio de claves se refiere a un mecanismo que utiliza claves para registrar y recuperar servicios de inyección de dependencias (DI). Registra un servicio llamando a AddKeyedSingleton (o AddKeyedScoped o AddKeyedTransient), asociado a una clave. Utiliza la propiedad [FromKeyedServices] para especificar la clave para acceder al servicio registrado.

  • AddKeyedScoped
  • AddKeyedSingleton
  • AddKeyedTransient

Pruebas de KeyedServices

Crear una nueva interfaz para enviar notificaciones, implementar métodos de correo electrónico, SMS y mensajes, registrarse a través del servicio clave y llamar a su implementación específica especificando el ID del servicio, el código es el siguiente:
Ejecuta como se muestra a continuación:



La inyección de código mediante un constructor es la siguiente:

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




Anterior:Tutorial de compra de hardware de monederos de criptomonedas OneKey Pro
Próximo:Los servidores Linux cortan logs nginx basándose en logrotate
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