Я настраиваю свои файлы конфигурации xml для своего веб-приложения asp.net, используя инъекцию зависимостей Spring.net IOC. Я сослался на каждый из моих файлов конфигурации в web.config. Пример настройки в файле конфигурации spring.net (settings.xml):
<object id="obj1"
type="NS.Common.Cache.Class, NS.Common"
singleton="true"
init-method="Initialize"
destroy-method="Dispose">
<property name="Name" value="My Name" />
</object>
Все работает нормально.
Теперь я устанавливаю свое веб-приложение в нескольких средах, поэтому я создаю файл конфигурации spring.net для среды, например . dev, qa, prod.
Таким образом, при установке приложения соответствующий файл Spring среды указывается в файле web.config. Это часть автоматического установщика.
В файле среды qa я хочу переопределить объект над «obj1» на:
<object id="obj1"
type="NS.Common.Cache.Class2, NS.Common"
singleton="true"
init-method="Initialize"
destroy-method="Dispose">
<property name="Name" value="My New Name" />
</object>
Однако, поскольку это автоматизировано (добавление ссылки на файл среды), настройки. xml файл не изменяется.
И теперь ссылка на 2 файла с определенным объектом с тем же идентификатором - это вызывает серьезные проблемы, поскольку будут возникать ошибки времени выполнения.
Есть ли способ, который я могу включить в qa.xml и flag или что-то подобное, чтобы выделить это определение объекта переопределяет любые другие определенные объекты в любом другом XML-файле с тем же идентификатором объекта?