Question

Lorsque j'inscris ce qui suit dans SM, puis que je tente de créer une instance, je reçois l'exception - "Code d'exception StructureMap: 202 Aucune instance par défaut définie pour PluginFamily ..."

Scan(x =>
        {
            x.Assembly("MVCDemo");
            x.Assembly("MVCDemo.Infrastructure");
            x.Assembly("MVCDemo.Services");

            x.AddAllTypesOf(typeof (IRepository<>));
        });

        ForRequestedType<IRepository<Employee>>().TheDefault.Is.ConstructedBy(() => new EmployeeRepository());


 var tmp4 = ObjectFactory.GetInstance<IRepository<Employee>>();

L'exception se produit lorsque j'essaie d'obtenir une instance d'IRepository.

Est-ce que quelqu'un sait ce qu'il me manque?

A bientôt

Ollie

Était-ce utile?

La solution

La réponse est que je ne devrais pas utiliser ObjectFactory pour créer une instance, je devrais utiliser le conteneur:

var container = new Container(new MvcDemoRegistry());
var cultureProvider = container.GetInstance<IProvideCultureInfo>();

Ta

Ollie

Autres conseils

Vous n'êtes pas censé utiliser des conteneurs pour obtenir des instances lorsque vous utilisez une IoC et une DI. Vous devez utiliser une injection de constructeur et demander à l'IoC de gérer l'injection pour vous.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top