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: 20690|Respuesta: 1

[Fuente] Resumen de la metodología de creación de instancias de autofac

[Copiar enlace]
Publicado en 5/1/2018 21:25:48 | | |

1、DependenciaDeInstanciaPerDependencia

Crea una nueva instancia única para cada dependencia o llamada. Esta también es la forma predeterminada de crear instancias.

La documentación oficial explica: Configura el componente para que cada componente dependiente o llamada a Resolve() reciba una instancia nueva y única (por defecto).



2、InstancePerLifetimeScope

En un dominio de ciclo de vida, cada dependencia o llamada crea una única instancia compartida, y para cada dominio de ciclo de vida diferente, la instancia es única y no compartida.

La documentación oficial explica: Configura el componente para que cada componente dependiente o llamada a Resolve() dentro de un único ILifetimeScope reciba la misma instancia compartida. Los componentes dependientes en diferentes ámbitos de vida tendrán diferentes instancias.



3、InstancePerMatchingLifetimeScope

En un dominio de ciclo de vida identificado, cada dependencia o llamada crea una única instancia compartida. Las instancias en el dominio padre pueden compartirse en el dominio de identidad hijo del dominio identificado del ciclo de vida. Si no se encuentra ningún dominio de ciclo de vida identificado en toda la jerarquía de herencia, se lanza una excepción: DependencyResolutionException.

La documentación oficial explica: Configura el componente para que cada componente dependiente o llamada a Resolve() dentro de un ILifetimeScope etiquetado con cualquiera de los valores proporcionados reciba la misma instancia compartida. Los componentes dependientes en los ámbitos de por vida que son hijos del ámbito etiquetado compartirán la instancia del padre. Si no se encuentra un alcance etiquetado adecuadamente en la jerarquía, se lanza una DependenciaResoluciónExcepción.



4、InstancePerOwned

En el ciclo de vida de una instancia creada por una instancia propiedad de un dominio de ciclo de vida, cada componente dependiente o llamada al método Resolve() crea una única instancia compartida, y el dominio hijo del ciclo de vida comparte las instancias en el dominio del ciclo de vida padre. Si no se encuentra un dominio adecuado del ciclo de vida con instancias hijas en la jerarquía de herencia, se lanza una excepción: DependencyResolutionException.

La documentación oficial explica: Configura el componente para que cada componente dependiente o llamada a Resolve() dentro de un ILifetimeScope creado por una instancia propiedad reciba la misma instancia compartida. Los componentes dependientes en los ámbitos de vida que son hijos del ámbito de instancia propiedad compartirán la instancia del padre. Si no se encuentra un alcance de instancia propiedad apropiado en la jerarquía, se lanza una DependencyResolutionException.



5、Instancia Única

Cada vez que dependes de un componente o llamas al método Resolve(), obtienes la misma instancia compartida. De hecho, es un modelo único.

La documentación oficial explica: Configura el componente para que cada componente dependiente o llamada a Resolve() reciba la misma instancia compartida.



6、InstancePerHttpRequest



En el contexto de una solicitud Http, comparte una instancia de un componente. Disponible solo para desarrollo asp.net MVC.
La documentación oficial explica: Comparte una instancia del componente dentro del contexto de una única solicitud HTTP.
Enlace oficial de documentación: http://autofaccn.readthedocs.io/en/latest/lifetime/instance-scope.html




Anterior:asp.net El archivo de directorio del sitio Get está vacío
Próximo:Reemplazo del kernel de Firefox en GeckoFx, aviso emergente de desactivación del sistema
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