Замок Виндзор с несколькими конструкторами

В настоящее время я занимаюсь преобразованием из Ninject в текущую версию Castle Windsor для простого приложения на C # .NET.

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

У меня есть объект хранилища пользователя, который закодирован следующим образом:

public class UserRepository : IUserRepository {
    public UserRepository(IObjectContext objectContext)  {
        // Check that the supplied arguments are valid.
        Validate.Arguments.IsNotNull(objectContext, "objectContext");

        // Initialize the local fields.
        ObjectContext = objectContext;
    }

    public UserRepository(IObjectContextFactory factory) 
        : this(factory.CreateObjectContext()) { 
    }

    // -----------------------------------------------
    // Insert methods and properties...
    // -----------------------------------------------
}

Чтобы соответствовать этому коду, я настроил следующие записи в файле конфигурации моего приложения:

<castle>
    <components>
        <component id="objectContextFactory" lifestyle="custom"
                   customLifestyleType="Common.Infrastructure.PerWebRequestLifestyleManager, Common.Castle"
                   service="Project.DAL.Context.IObjectContextFactory, Project.DAL.LINQ"
                   type="project.DAL.Context.ObjectContextFactory, Project.DAL.LINQ">
        </component>
        <component id="userRepository" lifestyle="custom"
                   customLifestyleType="Common.Infrastructure.PerWebRequestLifestyleManager, Common.Castle"
                   service="Project.BL.Repository.IUserRepository, Project.BL"
                   type="Project.BL.Repository.UserRepository, Project.BL.LINQ">
            <parameters>
              <factory>${objectContextFactory}</factory>
            </parameters>
        </component>
    </components>
</castle>

Для меня все выглядит так, как должно. Когда я пытаюсь разрешить экземпляр службы IObjectContextFactory, я получаю объект ObjectContextFactory. Моя проблема возникает, когда я пытаюсь разрешить экземпляр службы IUserRepository. Я обращаюсь со следующим восхитительным исключением:

Невозможно создать компонент userRepository, так как он имеет зависимости, которые должны быть удовлетворены. userRepository ожидает следующих зависимостей:

Сервисы:

- SandCastle.DAL.Context.IObjectContext which was not registered.

Я перепробовал все, что могу придумать по этому поводу. Итак, вам, читатели stackoverflow, я говорю: есть идеи?

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

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