Предоставление весенней конфигурации из кода с использованием 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". Как решить это?

0 ответов

Другие вопросы по тегам