Инъекция недвижимости в Виндзоре в замке

ОК, я думаю, что, возможно, естьперебор информация о замке Виндзор, потому что поиск этих ключевых слов дает мне примеры всего, и, честно говоря, я недостаточно понимаю, как это работает, чтобы должным образом устранить эту проблему. Я попробовал довольно много перестановок с небольшим количеством удачи в этом пункте.

у меня естьIUnitOfWorkFactory которую я хочу создать как синглтон. Итак, я установил Castle Windsor и напишу немного кода примерно так:

iocContainer = new WindsorContainer()
    .Install(FromAssembly.This());

var propInjector = iocContainer.Register(
    Component.For<IUnitOfWorkFactory>()
    .LifestyleSingleton()
    .Instance(new NHUnitOfWorkFactory())
    );

propInjector.Resolve<IUnitOfWorkFactory>();

Это вызывается из моегоApplication_Start метод.

у меня естьAccountController подключен так:

public class AccountController : SecureController
{
    public IUnitOfWorkFactory UnitOfWorkFactory { get; set; }
    ...

... насколько я могу понять, это должно просто "работать" (хотя не спрашивайте меня, как). Но моя собственность всегда равна нулю, когда я пытаюсь ее использовать.

Кажется, мне не хватает чего-то глупого и простого, но я понятия не имею, что это такое.

Я также пытался

var propInjector = iocContainer.Register(
    Component.For<IUnitOfWorkFactory>()
    .ImplementedBy<NHUnitOfWorkFactory>()
    .LifestyleSingleton()
    );

без успеха.

Что я делаю неправильно?

ЗАКЛЮЧЕНИЕ

Я пропустил несколько шагов здесь. Я построил установщик и загрузчик в соответствии сруководство, но я зарегистрировал свои услуги не в том месте ... перед тем, как строить фабрику контроллеров. Теперь мой загрузчик выглядит так:

iocContainer = new WindsorContainer()
    .Install(FromAssembly.This());

var controllerFactory = new WindsorControllerFactory(iocContainer.Kernel);
ControllerBuilder.Current.SetControllerFactory(controllerFactory);

iocContainer.Register(
    Component.For<IUnitOfWorkFactory>()
    .ImplementedBy<NHUnitOfWorkFactory>()
    .LifestyleSingleton()
    );

... и мои инъекции собственности больше не были нулевыми .... теперь мне просто нужно отладить остальные 87 проблем ...

Ответы на вопрос(1)

Ваш ответ на вопрос