Конфигурация замка Виндзора, указывающая на раздел connectionStrings в web.config - PullRequest
1 голос
/ 07 апреля 2010

Я хочу добавить строку подключения в мой репозиторий, но в идеале я хочу, чтобы эта строка подключения была в моем разделе соединения.строки web.config, а не в моей конфигурации windsor. Возможно ли это?

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

Я также знаю, что могу определить свойство и использовать его в своей конфигурации windsor для передачи параметра, но у меня есть другой код, который считывает строку подключения напрямую из web.config и на самом деле не хочет двух мест с одинаковым ConnectionString.

1 Ответ

1 голос
/ 07 апреля 2010

Есть несколько способов сделать это:

  • Этот вопрос имеет решение, очень похожее на то, что вы хотите
  • Вы можете пометитьклассы, которым нужна строка подключения с интерфейсом, подобным следующему:

    interface IRequiresConnectionString {
        string ConnectionString {get;set;}
    }
    

    , затем вы подписываетесь на событие container.Kernel.ComponentModelCreated (или пишете IContributeComponentModelConstruction), проверяете тип реализации компонента и, если он реализует IRequiresConnectionString, выпоместите connectionString в параметры компонента.

  • Вы также можете сделать это без интерфейса, если вы следуете соглашению, что параметр connectionstring всегда будет называться connectionString (или как вам угодно), но этоподвержен ошибкам, если вы случайно дадите имя своему параметру conectionString, он не будет введен.
...