2013-03-15 2 views
1

Конфигурация My Spring.NET использует следующий синтаксис типа и работает нормально.

<object id="JohnUsingVariableSource" 
    type="XmlConfig.StringInjection.Person, XmlConfig"> 
    <property name="Name" value="${JohnsFullName}" /> 
</object> 

значения для $ {} JohnsFullName заполнитель настраиваются в файле app.config. Мои требования изменились, и я знаю, что нужно получить имя из базы данных при запуске. Как можно перезаписать значение в файле app.config? Могу ли я сделать это в коде без открытия app.config (как здесь App.Config change value), имеет ли весна.NET способ сделать это?

ответ

2

Да, вы можете сделать это без изменения файла app.config. Просто реализовать пользовательские IVariableSource:

public interface IVariableSource 
{ 
    string ResolveVariable(string name); 
} 

В ResolveVariable методе вы читаете из БД.

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