Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 20690|Répondre: 1

[Source] Résumé de la méthodologie de création d’instances autofac

[Copié le lien]
Publié sur 05/01/2018 21:25:48 | | |

1、InstancePerDependency

Créez une nouvelle instance unique pour chaque dépendance ou appel. C’est aussi la façon par défaut de créer des instances.

La documentation officielle explique : Configurez le composant de sorte que chaque composant ou appel dépendant à Resolve() obtienne une nouvelle instance unique (par défaut).



2、InstancePerLifetimeScope

Dans un domaine de cycle de vie, chaque dépendance ou appel crée une instance partagée unique, et pour chaque domaine de cycle de vie différent, l’instance est unique et non partagée.

La documentation officielle explique : Configurez le composant de sorte que chaque composant dépendant ou appel à Resolve() au sein d’un seul ILifetimeScope reçoive la même instance partagée. Les composantes dépendantes dans différents portémiques de vie auront des instances différentes.



3、InstancePerMatchingLifetimeScope

Dans un domaine de cycle de vie identifié, chaque dépendance ou appel crée une instance partagée unique. Les instances dans le domaine parent peuvent être partagées dans le domaine d’identité enfant du domaine de cycle de vie identifié. Si aucun domaine de cycle de vie identifié n’est trouvé dans toute la hiérarchie d’héritage, une exception est lancée : DependencyResolutionException.

La documentation officielle explique : Configurez le composant de sorte que chaque composant ou appel dépendant à Resolve() dans un ILifetimeScope tagué avec n’importe quelle valeur de balise fournie reçoive la même instance partagée. Les composantes dépendantes dans les longueurs à vie qui sont enfants du scope balisé partageront l’instance du parent. Si aucun champ de contrôle correctement étiqueté n’est trouvé dans la hiérarchie, une DependencyResolutionException est lancée.



4、InstancePerOwned

Dans le cycle de vie d’une instance créée par une instance appartenant à un domaine de cycle de vie, chaque composant ou appel dépendant à la méthode Resolve() crée une instance partagée unique, et le domaine de cycle de vie enfant partage les instances dans le domaine du cycle de vie parent. Si aucun domaine de cycle de vie approprié avec des instances enfants n’est trouvé dans la hiérarchie d’héritage, une exception est lancée : DependencyResolutionException.

La documentation officielle explique : Configurez le composant de sorte que chaque composant ou appel dépendant à Resolve() au sein d’un ILifetimeScope créé par une instance possédée reçoive la même instance partagée. Les composantes dépendantes dans les champs de vie qui sont enfants de l’extension d’instance possédée partageront l’instance du parent. Si aucun champ d’instance approprié ne peut être trouvé dans la hiérarchie, une DependencyResolutionException est lancée.



5、SingleInstance

Chaque fois que vous dépendez d’un composant ou appelez la méthode Resolve(), vous obtenez la même instance partagée. En fait, c’est un modèle à un seul endroit.

La documentation officielle explique : Configurez le composant de sorte que chaque composant ou appel dépendant à Resolve() reçoive la même instance partagée.



6、InstancePerHttpRequest



Dans le contexte d’une requête Http, partagez une instance d’un composant. Disponible uniquement pour asp.net développement MVC.
La documentation officielle explique : Partagez une instance du composant dans le contexte d’une seule requête HTTP.
Lien de documentation officielle : http://autofaccn.readthedocs.io/en/latest/lifetime/instance-scope.html




Précédent:asp.net Le fichier du répertoire Get Site est vide
Prochain:Remplacement du noyau Firefox de GeckoFx, désactivation d’alerte fenêtre contextuelle système
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com