Использование Castle Windsor для внедрения IRailsEngineContext - PullRequest
1 голос
/ 16 июня 2009

Выпуск

Я использую Castle Windsor в качестве контейнера IoC в проекте Castle Monorail. Я хотел бы добавить текущий экземпляр IRailsEngineContext в объект, который разрешается из контейнера в контроллере.

Контекст

Объект, в который я хотел бы вставить контекст рельсов, будет использоваться для обертывания объекта сеанса с целью сохранения идентификаторов ранее просмотренных записей. Затем на него будут ссылаться, чтобы они больше не просматривались.

Альтернативные решения

Я мог бы передавать контекст методам при каждом вызове или вставлять его вручную, но было бы неплохо вставить его непосредственно из контейнера.

Вопрос

Я не могу придумать, как внедрить контекст в контейнер. Есть ли способ сделать это? Имеет ли это смысл?

1 Ответ

1 голос
/ 17 июня 2009
Container.Register(
    Component.For<IRailsEngineContext>()
             .UsingFactoryMethod(()=>MonoRailHttpHandler.CurrentContext)
             .LifeStyle.Transient
);

IRailsEngineContext - это от старой версии MonoRail, я думаю. Я бы посоветовал вам перейти на новый, чем раньше, тем лучше.

...