2011-06-24 11 views
1

Je remplace le conteneur Unity standard dans Prism 4 et rencontre un problème lors de l'initialisation de mes modules. Avant, j'avais l'habitude d'injecter un IUnityContainer, ce qui m'a permis d'enregistrer tous les types supplémentaires de mon module.Intégration Autofac dans Prism 4

Maintenant j'injecte un AutoFac.IContainer et il n'a pas les méthodes RegisterType dont j'ai besoin. Ils sont situés dans la classe ContainerBuilder.

Donc la question simple est de savoir comment enregistrer des types dans mon conteneur principal à partir de mes modules lorsqu'ils sont chargés.

Merci Craig

+0

double possible de [Enregistrement d'exécution avec Autofac] (http: // stackoverflow. com/questions/6173566/run-time-registration-with-autofac) * qui traite également de Prism *. – bentayloruk

Répondre

4

La méthode standard Autofac est building your modules comme IModule cours, en utilisant builder.RegisterModule pour les charger dans votre conteneur dans le cadre du processus de registre.

Si vous disposez déjà d'un conteneur et besoin d'ajouter des enregistrements à elle, vous utilisez le nouveau ContainerBuilder comme ceci:

var cb = new ContainerBuilder(); 
cb.Register(...); 
... 

cb.Update(existingContainer);