Как считать/твердость свойства из конфигурации замка Windsor

После некоторого исследования я обнаружил, что «VM clone» можно сделать с помощью Terraform, и это не обязательно должен быть храм. Вы можете использовать тот же конфиг, который используется для клона шаблона для клона виртуальной машины.

data "vsphere_virtual_machine" "template" {
  name = "my-vm-clone-test"
  datacenter_id = "${data.vsphere_datacenter.dc.id}"
}

Где my-vm-clone-test VM.

5
задан 15 October 2008 в 13:41
поделиться

2 ответа

Разве Вы не думающий об этом наоборот?

Конечно, объект, который использует строку подключения, должен иметь свойство ConnectionString в конструкторе и зависимости, продвинутой там с чем-то в разделе компонентов конфигурации как:

<component type="SessionManager">
  <parameters>
    <connectionString>#{connectionString}</connectionString>
  </parameters>
</component>

Тем путем строка подключения будет автоматически передана в, и Ваш компонент не должен будет знать о контейнере вообще - отделенный и связный!!!

1
ответ дан 15 December 2019 в 06:38
поделиться

Вы могли сделать это несколько различных путей - для решения со строгим контролем типов, очевидный подход должен будет реализовать класс пользовательской конфигурации, затем обеспечить электричеством свойства класса со свойствами в виндзорской конфигурации (свойства только для чтения с набором аргументов конструктора, вероятно, были бы лучшими, таким образом, другой dev's не думает, что они могут обновить их) - существует определенная работа в хранении двух в синхронизации, как Вы указали. Возможно, запишите мелкий инструмент для парсинга конфигурационных файлов для генерации виндзорской конфигурации / определение класса для этого компонента, таким образом, Вы не должны поддерживать его.

Другая альтернатива должна была бы взять существующий интерпретатор конфигурации и выставить свойства, которые собраны при парсинге конфигурации - была бы определенная работа (но не слишком много) для достигания их.. Я думаю, что Вы могли сделать это:

  • Создание реализации декоратора IXmlProcessorEngine, который получает вызовы к AddProperty (элемент XmlElement) и хранит элементы в своем собственном частном словаре.
  • Замените XmlProcessor своей собственной реализацией (т.е. скопируйте исходный код для класса, затем измените конструктора так, чтобы Вы перенесли декоратора вокруг экземпляра DefaultXmlProcessorEngine, который делает фактическую работу, таким образом, различные вызовы добавлять-свойства зарегистрированы).
  • Наследуйтесь XmlInterpreter и переопределите метод ProcessResource так, чтобы он назвал Вашу замену XmlProcessor.
  • Решите, как Вы хотите достигнуть свойства, сохраненные Вашим декоратором, возможно, это настроено со словарем, это передается на пути конструктор из XmlInterpreter и XmlProcessor в свою очередь..

К сожалению, AFAIK, те свойства не передаются хранилищу конфигурации, потому что они только используются во время этапа интерпретации - плюс, я не полагаю, что конвертеры типов вызываются на этом этапе парсинга, таким образом, значения будут строками, но по крайней мере, если/еще и т.д. операторы условия будут оценены правильно, а также включают.

2
ответ дан 15 December 2019 в 06:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: