Предоставление весенней конфигурации из кода с использованием CodeConfigurationContext?
В настоящее время в моем app.config я создал отдельный раздел для разрешения зависимостей Spring, как показано ниже, и работает нормально.
<ConfigurationSettings>
<add key="urlprovider" value="Proxy.DependencyProperty.BaseUrl, Proxy"/>
<add key="wstimeoutprovider" value="Proxy.DependencyProperty.WebServiceTimeout, Proxy"/>
<add key="powerreconurlprovider" value="Proxy.DependencyProperty.PowerReconUrl, Proxy"/>
<add key="credentialprovider" value="DependencyProperty.ServerCredential, Proxy" />
</ConfigurationSettings>
Однако я хотел бы предоставить это через код. Итак, я создал класс конфигурации следующим образом
[Configuration]
public class ProxyConfiguration
{
[Definition]
public virtual KeyValueConfigurationCollection ConfigurationSettings()
{
KeyValueConfigurationCollection collection = new KeyValueConfigurationCollection();
collection.Add("urlprovider", "Proxy.DependencyProperty.BaseUrl,Proxy");
collection.Add("wstimeoutprovider","Proxy.DependencyProperty.BaseUrl,Proxy");
collection.Add("powerreconurlprovider","Proxy.DependencyProperty.BaseUrl,Proxy");
collection.Add("credentialprovider","Proxy.DependencyProperty.BaseUrl,Proxy");
return collection;
}
}
а затем создал CodeConfigurationContext, как показано ниже
var ctx = new CodeConfigApplicationContext();
ctx.ScanWithAssemblyFilter(assy => (assy.FullName.Contains("Test")));
ctx.Refresh();
Однако я все еще получаю исключение из Spring.root, что ConfigurationErrorsException не обрабатывается кодом. Ошибка создания контекста "spring.root": ошибка регистрации объекта с именем... Не удалось разрешить заполнитель "urlprovider". Как решить это?