J'utilise StructureMap pour l'injection de dépendances et je souhaite y injecter des sessions NHibernate. J'ai le code suivant:Gestion des dépendances imbriquées de StructureMap
private static Container _container { get; set; }
static MyClass()
{
_container = new Container(r =>
{
r.For<ISessionFactory>().Singleton()
.Use(NHibernate.GetSessionFactory());
r.For<ISession>().HybridHttpOrThreadLocalScoped()
.Use(_container.GetInstance<ISessionFactory>().OpenSession());
});
}
Cependant, je ne peux pas empêcher de penser que le référencement _container à partir de l'initialisation du _container semble maladroit. Est-ce une pratique acceptable? Est-ce que ça va se retourner contre la route? Y a-t-il un meilleur moyen? Comment gérez-vous les dépendances qui nécessitent la création d'une autre dépendance pour se créer?
C'est exactement ce que je cherchais. Merci. J'ai manqué la surcharge qui a fourni le conteneur pour une expression lambda. – Chris