Использование Castle Windsor для внедрения IRailsEngineContext
Вопрос
Вопрос
Я использую Castle Windsor в качестве контейнера IoC в проекте Castle Monorail. Я хотел бы добавить текущий экземпляр IRailsEngineContext в объект, который разрешается из контейнера в контроллере. Р>
Контекст
Объект, в который я хотел бы вставить контекст рельсов, будет использоваться для обертывания объекта сеанса с целью сохранения идентификаторов ранее просмотренных записей. Затем на него будут ссылаться, чтобы они больше не просматривались. Р>
Альтернативные решения
Я мог бы передавать контекст методам при каждом вызове или вставлять его вручную, но было бы неплохо добавить его непосредственно из контейнера.
Вопрос
Я не могу придумать, как внедрить контекст в контейнер. Есть ли способ сделать это? Имеет ли это смысл?
Решение
Container.Register(
Component.For<IRailsEngineContext>()
.UsingFactoryMethod(()=>MonoRailHttpHandler.CurrentContext)
.LifeStyle.Transient
);
IRailsEngineContext - я думаю, это из старой версии MonoRail. Я бы посоветовал вам перейти на новый, чем раньше, тем лучше.