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

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

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

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

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

propInjector.Resolve();

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

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

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

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

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

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

var propInjector = iocContainer.Register(
    Component.For()
    .ImplementedBy()
    .LifestyleSingleton()
    );

без успеха.

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

ЗАКЛЮЧЕНИЕ

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

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

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

iocContainer.Register(
    Component.For()
    .ImplementedBy()
    .LifestyleSingleton()
    );

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

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

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