Domanda

Problema

Sto usando Castle Windsor come contenitore IoC in un progetto Castle Monorail. Vorrei iniettare l'istanza corrente di IRailsEngineContext in un oggetto che viene risolto dal contenitore in un controller.

Contesto

L'oggetto in cui vorrei inserire il contesto delle rotaie verrebbe utilizzato per avvolgere l'oggetto sessione allo scopo di conservare gli ID dei record visualizzati in precedenza. Verrà quindi fatto riferimento per assicurarsi che non vengano visualizzati di nuovo.

Soluzioni alternative

Potrei passare il contesto ai metodi con ogni chiamata o iniettarlo manualmente, ma sarebbe bello iniettarlo direttamente dal contenitore.

Domanda

Non riesco a pensare a un modo per iniettare il contesto all'interno del contenitore. C'è un modo per fare questo? Ha senso anche questo?

È stato utile?

Soluzione

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

IRailsEngineContext - proviene da una versione precedente di MonoRail credo. Ti consiglierei di passare a uno più recente, prima è, meglio è.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top