Was ist der Unterschied zwischen ContainerControlledLifetimeManager und HierarchicalLifetimeManager?
Was ist der Allgemeine Unterschied zwischen ContainerControlledLifetimeManager und HierarchicalLifetimeManager? Ich weiß, dass ContainerControlledLifetimeManager darstellen singleton ist DI-container erstellen einer neuen Instanz für jeden Typ die benötigten Abhängigkeiten. Ich Lesen Sie nützliche Artikel über Verständnis Lebensdauer Manager. Ich verglich die hash-codes von Instanzen, die ere erstellt von container mit unterschiedlicher Lebensdauer Manager. Ich habe die gleiche Instanz für jede Anfrage, wenn ich ContainerControlledLifetimeManager, aber ich habe einen anderen hash-codes verwenden, wenn ich HierarchicalLifetimeManager. Wie es im Artikel geschrieben, jedes Kind container erstellen eigene Instanz. Ich verstehe nicht ganz verstehen. Elternteil und Kind haben die gleiche Instanz oder nicht? Was wird geschehen, wenn ich gewonnen ' T haben keine Kinder? Wenn ich diese Lebenszeit-manager? Bitte erklären Sie es mir?
Du musst angemeldet sein, um einen Kommentar abzugeben.
ContainerControlledLifetimeManager
behebt eine singleton-Instanz des registrierten Typen bezieht sich auf die Lebensdauer des ContainersHierarchicalLifetimeManager
behebt eine singleton-Instanz des registrierten Typen bezieht sich auf die Lebensdauer des Containers durchgeführt, die die Auflösung (aber nicht notwendigerweise, der container, in dem der Typ war registriert)Wenn Ihre Anwendung nutzt nur einen einzigen container, gibt es keinen Unterschied im Verhalten zwischen den
HierarchicalLifetimeManager
undContainerControlledLifetimeManager
Allerdings, wenn Sie Ihre Anwendung erstellt untergeordneten Container pro session /request und löst mit diesen untergeordneten Container dann effektiv eine singleton-Instanz des registrierten Typen pro session /request