Pergunta

Problema

Eu estou usando o Castelo de Windsor como um contêiner IoC em um projeto Castelo Monorail. Gostaria de injectar o exemplo corrente de IRailsEngineContext para um objecto a ser resolvido a partir do recipiente num controlador.

Contexto

O objeto Gostaria injetar contexto trilhos em seria usado para embrulhar o objeto de sessão com a finalidade de reter os ids dos registros vistos anteriormente. Seria, então, ser referenciado para garantir que eles não são vistos novamente.

Soluções Alternativas

Eu poderia passar o contexto para os métodos com cada chamada ou injetá-lo manualmente, mas seria bom para injetá-lo directamente a partir do recipiente.

Pergunta

Eu não consigo pensar em uma maneira de injetar o contexto dentro do recipiente. Existe uma maneira de fazer isso? Faz isso mesmo faz sentido?

Foi útil?

Solução

Container.Register(
    Component.For<IRailsEngineContext>()
             .UsingFactoryMethod(()=>MonoRailHttpHandler.CurrentContext)
             .LifeStyle.Transient
);

IRailsEngineContext - que é de um velho versão do MonoRail eu acho. Eu aconselho você se mover para um mais novo, quanto mais cedo melhor.

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