Завод и репозиторий контроллера Castle Windsor не разрешаются

Я сейчас тестирую Castle Windsor vs. Ninject, и мне очень нравится то, что Windsor может предложить, у меня просто проблема с инъекцией в репозиторий.

Итак, вот настройка ... У меня есть ControllersInstaller, который выглядит так ...

public class ControllersInstaller : IWindsorInstaller
{
    public void Install(IWindsorContainer container, IConfigurationStore store)
    {
        container.Register(FindControllers().Configure(ConfigureControllers()));
    }

    private BasedOnDescriptor FindControllers()
    {
        return AllTypes.FromThisAssembly()
            .BasedOn<IController>()
            .If(Component.IsInSameNamespaceAs<HomeController>())
            .If(t => t.Name.EndsWith("Controller"));

    }

    private ConfigureDelegate ConfigureControllers()
    {
        return c => c.LifeStyle.Transient;
    }
}

Контекстный установщик, который выглядит так ... Некоторые зависимости этого компонента не удалось разрешить статически. MyProject.Controllers.HomeController ожидает следующих зависимостей: Services: - MyProject.Models.MyRepo, который не был зарегистрирован.

И я не могу понять почему! Я попытался установить установщик репо как синглтон, и я попытался переупорядочить процесс регистрации, чтобы репозиторий устанавливался до контроллеров.

Когда я отлаживаю и нажимаю строку фабрики контроллера в Global.asax, он говорит, что все, кроме HomeController, имеет решено правильно.

Мысли?

5
задан jcreamer898 27 May 2011 в 13:33
поделиться

0 ответов

Другие вопросы по тегам:

Похожие вопросы: