Сохранение конфигурации Windsor Castle в файл - PullRequest
1 голос
/ 22 марта 2012

На моей машине для разработки я в настоящее время регистрирую свои компоненты в Castle Windsor, используя свободный интерфейс, например ::

container.Register(
    Component.For<IRelationCostMatrix>()
        .ImplementedBy<DefaultCostMatrix>(),
    Component.For<SemanticGraph>()
        .UsingFactoryMethod(GetSemanticGraph)
        .LifeStyle.Singleton /* etc. */
    );

Кроме того, некоторые проекты, в которых реализованы мои интерфейсы, используют установщики. Эти установщики в основном следуют тому же подходу, но иногда устанавливаются с помощью отражения (т. Е. Регистрация в цикле foreach всех типов, реализующих IMyInterface).

Мне было интересно, можно ли было легко преобразовать эту конфигурацию в формат конфигурации XML до развертывания проекта, например, что-то вроде container.Kernel.ConfigurationStore.WriteTo("cfg.xml"). Есть ли простой способ сделать это, или лучше сделать это вручную?

Спасибо заранее, Мэнни

1 Ответ

2 голосов
/ 22 марта 2012

Это невозможно сделать в общем. Код более выразителен, чем XML-конфигурация.

Кроме того, я не думаю, что это даже хорошая идея. Большинство вещей должно , а не настраиваться через XML. Делайте настраиваемым только то, что действительно настраивается. Большую часть времени вы можете просто сделать ваши компоненты настраиваемыми с помощью простых ключей AppSettings в вашем web.config / appconfig.

...