Castelo de Windsor com vários construtores

Atualmente estou realizando uma conversão, desde o uso do Ninject, até o lançamento atual do Castle Windsor para um simples aplicativo C # .NET.

Na maioria das vezes, a conversão foi bem e a implementação dos containers foi impecável. No entanto, estou tendo um pequeno problema com meus objetos de repositório.

Eu tenho um objeto de repositório de usuário que é codificado da seguinte maneira:

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...
    // -----------------------------------------------
}

Para corresponder a este código, configurei as seguintes entradas no arquivo de configuração do meu aplicativo:

<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>

Para mim, tudo parece que deveria. Quando tento resolver uma instância do serviço IObjectContextFactory, recupero um objeto ObjectContextFactory. Meu problema surge quando tento resolver uma instância do serviço IUserRepository. Eu sou tratado com a seguinte exceção deliciosa:

Não é possível criar o componente 'userRepository' porque ele tem dependências para ser satisfeito. userRepository está aguardando as seguintes dependências:

Serviços:

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

Eu tentei tudo o que posso pensar sobre isso. Então, para você, leitores de stackoverflow, eu digo: tenho alguma idéia?

questionAnswers(2)

yourAnswerToTheQuestion