Как мне получить все ключи для компонентов, которые в настоящее время зарегистрированы в Castle Windsor?

Главный вопрос в названии, но вот предыстория.

Поскольку я выбираю ленивый способ регистрации своих компонентов

        container.Register(
            AllTypes.Pick().FromAssembly(
typeof (MyModelBinder).Assembly).WithService.FirstInterface()
           );

Теперь, когда я пытаюсь

  container.AddComponent<CompositionBinder, CompositionBinder>();

Виндзор сказал мне, что уже есть компонент с такими же клавишами

Но если я закомментирую эту строку, Windsors не сможет разрешить CompositionBinder. Теперь, если я это сделаю

    container.AddComponent<CompositionBinder, CompositionBinder>
("CompositionBinder");

Тогда это сработает. Поэтому я хотел бы заглянуть в движок, чтобы понять, какие компоненты и ключи зарегистрированы в моем контейнере.

Как мне получить все ключи для компонентов, которые в настоящее время зарегистрированы в Castle Windsor?


person firefly    schedule 12.01.2010    source источник


Ответы (1)


См. этот вопрос. ComponentModel имеет свойство Name, которое является ключом компонента.

person Mauricio Scheffer    schedule 12.01.2010
comment
Спасибо. Рад, что кто-то так хорошо знает это. - person firefly; 12.01.2010