Pregunta

Cuando registro lo siguiente en SM y luego intento crear una instancia, obtengo la excepción: 'Código de excepción de mapa de estructura: 202 No se ha definido ninguna instancia predeterminada para la familia Plugin ...'

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>>();

La excepción se produce cuando intento obtener una instancia de IRepository.

¿Alguien sabe lo que me estoy perdiendo?

Saludos

Ollie

¿Fue útil?

Solución

La respuesta es que no debería usar ObjectFactory para crear una instancia, debo usar el contenedor:

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

Ta

Ollie

Otros consejos

Se supone que no debe usar contenedores para obtener instancias al usar una IoC y DI. Debería usar la inyección de constructor y que IoC maneje la inyección por usted.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top