Articles of injeção de dependência

Injetor Simples – Registre o tipo foreach com o parâmetro

Eu tenho usado o Autofac como contêiner DI e é ótimo, mas é um pouco lento demais. Então, decidi migrar meu projeto para o Simple Injector, porque vi alguns testes de benchmark e é um dos mais rápidos. Sua API, no entanto, falta um pouco na minha opinião, mas tenho certeza de que há alguma […]

Como fazer com que o AutoFac use a mesma instância de dependência aninhada por object de nível superior? (dependency injection SignalR por hub)

Estou tentando configurar meu registro do AutoFac de forma que esse teste seja aprovado: [Test] public void Autofac_registration_test() { // Given var builder = new ContainerBuilder(); RegisterServices(builder); var container = builder.Build(); // When var firstHub = container.Resolve(); var secondHub = container.Resolve(); // Then firstHub.Should().NotBe(secondHub); firstHub.FooRepo.Context.Should().Be(firstHub.BarRepo.Context); firstHub.FooRepo.Context.Should().NotBe(secondHub.FooRepo.Context); } Ou seja, eu quero usar o mesmo object […]

Precisa de ajuda para entender como o Ninject está obtendo uma instância Nhibernate SessionFactory em um UnitOfWork?

Então, usando alguma ajuda de tutoriais, consegui conectar uma session Nhibernate aos meus repositorys e meus repositorys aos meus controladores usando o Ninject. No entanto, há uma parte da configuração que não estou entendendo a “automagia” do que Ninject está fazendo e esperava que alguém pudesse explicar. Abaixo está o meu Ninject ModuleRepository que herda […]

Ninject passando em valores de construtor

Com o Ninject, como você configura o kernel para que eu possa definir quais valores de construtor estão passando para a instanciação de um object? Eu tenho o seguinte configurado em um módulo: Bind() .To() .InSingletonScope() .Named(“LIVE”); Bind() .To() .InSingletonScope() .Named(“LIVE”) .WithConstructorArgument( “service1”, Kernel.Get(“LIVE”)); Service2Impl usa um parâmetro de construtor de IService1, mas eu quero […]

Como abrir o encadeamento genérico do decorador com unidade + UnityAutoRegistration

Saiu em uma interessante tangente hoje depois de ler este artigo sobre decoração de manipulador de comando . Eu queria ver se eu poderia implementar o padrão usando Unity em vez de SimpleInjector , e até agora está se mostrando extremamente difícil. A primeira coisa que tive que fazer foi instalar o UnityAutoRegistration para resolver […]

Qual é a intenção dos módulos Ninject?

Eu sou um novato completo para ninject Eu estive separando o código de outra pessoa e encontrei várias instâncias de módulos nInject – classs que derivam de Ninject.Modules.Module, e tenho um método load que contém a maior parte de seu código. Essas classs são chamadas invocando o método LoadModule de uma instância do StandardKernel e […]

DI / IoC, NHibernate e ajuda para que trabalhem juntos

Estou tentando entender o DI / IoC, o NHibernate e fazer com que funcionem bem juntos para um aplicativo que estou desenvolvendo. Eu sou novo no NHibernate e no DI / IoC, então não tenho certeza se o que estou fazendo é a maneira mais sensata de lidar com isso. Este é o cenário: O […]

Como faço para usar o StructureMap com tipos genéricos não fechados usando o Scan com um construtor “ganancioso”

Entre várias perguntas sobre o Stack Overflow e postagens de blog, há uma quantidade bastante razoável de documentação sobre o tópico de genéricos abertos e StructureMap. Infelizmente, devo estar perdendo alguma coisa, pois minhas tentativas de usar a scan para realizar a configuração junto com uma implementação de class que possui um construtor “ganancioso” ainda […]

O que é o Ninject e quando você o usa?

Eu tenho ajudado alguns amigos em um projeto e há uma class que usa o Ninject. Eu sou relativamente novo no C # e não tenho ideia do que essa class está fazendo, e é por isso que preciso entender o Ninject. Alguém pode explicar o que é Ninject e quando é usado (com exemplo, […]

Como usar a extensão de convenções do Ninject sem referenciar o assembly (ou tipos dentro dele)

Desculpe antecipadamente pela longa pergunta, é longa porque eu tenho cavado isso o dia todo. O problema geral: Eu tenho um aplicativo ASP.Net MVC2 com os seguintes projetos: MyApp.Web, MyApp.Services, MyApp.Data. Codificamos interfaces e utilizamos o Ninject 2 para DI / IoC. No entanto, estou ficando muito cansado de digitar (e esquecendo de digitar): Bind.To; […]