Pergunta

Quando eu registrar o seguinte em SM e, em seguida, tentar criar uma instância recebo a exceção - 'StructureMap Exception cupom: 202 Não Padrão Instância definido para 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>>();

A exceção ocorre quando tento obter uma instância de IRepository.

Alguém sabe o que eu estou perdendo?

Felicidades

Ollie

Foi útil?

Solução

A resposta é que eu não deveria usar ObjectFactory para criar exemplo, eu deveria usar o recipiente:

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

Ta

Ollie

Outras dicas

Você não é suposto para recipientes de uso para obter instâncias ao usar um IoC e DI. Você deve estar usando injeção de construtor e têm o COI lidar com a injeção para você.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top