Articles of dependência injeção

Injeção de propriedade em atributos

Eu estou tentando injetar uma dependência em um AuthorizeAttribute personalizado da seguinte maneira: public class UserCanAccessArea : AuthorizeAttribute { readonly IPermissionService permissionService; public UserCanAccessArea() : this(DependencyResolver.Current.GetService()) { } public UserCanAccessArea(IPermissionService permissionService) { this.permissionService = permissionService; } protected override bool AuthorizeCore(HttpContextBase httpContext) { string AreaID = httpContext.Request.RequestContext.RouteData.Values[“AreaID”] as string; bool isAuthorized = false; if (base.AuthorizeCore(httpContext)) isAuthorized […]

Posso passar parâmetros de construtor para o método Resolve () da Unity?

Estou usando o Unity da Microsoft para injeção de dependência e quero fazer algo assim: IDataContext context = _unityContainer.Resolve(); var repositoryA = _unityContainer.Resolve(context); //Same instance of context var repositoryB = _unityContainer.Resolve(context); //Same instance of context IDataContext context2 = _unityContainer.Resolve(); //New instance var repositoryA2 = _unityContainer.Resolve(context2); RepositoryA e RepositoryB ambos têm um construtor que recebe um […]

Como injetar um object no contexto de solicitação de jersey?

Eu tenho este cenário onde eu quero escrever um filtro e eu quero que este filtro para inserir algum object para o pedido atual e passá-lo para que quando a class de recurso recebe a solicitação pode usar o object. Classe de filtro @Override public void filter(ContainerRequestContext request) throws IOException { MyObject obj = new […]

dependency injection no Struts2 Acessando beans com escopo de session

Recentemente eu precisei usar DI no Struts2. Eu sei que ele usa sua própria implementação de DI como Guice, mas não Guice, na medida em que não consegui encontrar algumas annotations adequadas para definir o escopo para beans injetados. Para ser curto, eu criei um bean //@Repository //@Scope(“session”) public class Session { private Map map […]

Unity Injectar dependencies na class de filtro MVC com parâmetros

Estou usando a injeção de dependência Unity.MVC4 para acessar meus serviços. Tudo funciona como deveria ao injetar no meu construtor Controller, mas o que eu gostaria de fazer agora é usar injeção de propriedade na minha class de filtro para que eu possa acessar meu database de dentro. Antes de começar esta pergunta, pesquisei e […]

Como os principais frameworks C # DI / IoC se comparam?

Correndo o risco de entrar no território da guerra santa, quais são os pontos fortes e fracos dessas estruturas populares de DI / IoC, e alguém poderia facilmente ser considerado o melhor? ..: Ninject Unidade Castle.Windsor Autofac StructureMap Existem outras Estruturas de DI / IoC para C # que eu não listei aqui? No contexto […]

Windsor – puxando objects transientes do contêiner

Como posso extrair objects do contêiner que são temporários na natureza? Eu tenho que registrá-los com o recipiente e injetar no construtor da class que precisa? Injetar tudo no construtor não parece bom. Também apenas para uma class, não quero criar um TypedFactory e injetar a fábrica na class que precisa. Outro pensamento que veio […]

Como evitar a loucura do construtor de Injeção de Dependência?

Eu acho que meus construtores estão começando a ficar assim: public MyClass(Container con, SomeClass1 obj1, SomeClass2, obj2…. ) com lista de parâmetros cada vez maior. Como “Container” é meu contêiner de injeção de dependência, por que não posso fazer isso: public MyClass(Container con) para cada aula? Quais são as desvantagens? Se eu fizer isso, parece […]

Um DbContext por solicitação da Web … por quê?

Tenho lido muitos artigos explicando como configurar o DbContext do Entity Framework para que apenas um seja criado e usado por solicitação da Web HTTP usando várias estruturas de DI. Por que isso é uma boa ideia em primeiro lugar? Quais vantagens você ganha ao usar essa abordagem? Existem certas situações em que isso seria […]

Existe um padrão para inicializar objects criados por meio de um contêiner DI

Eu estou tentando obter Unity para gerenciar a criação de meus objects e quero ter alguns parâmetros de boot que não são conhecidos até o tempo de execução: No momento, a única maneira que consegui pensar em como fazer isso é ter um método de boot na interface. interface IMyIntf { void Initialize(string runTimeParam); string […]