Usando o Castelo de Windsor para injetar IRailsEngineContext
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 ??h3>
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?
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.