目前在我的app.config中,我已经为弹簧相关性解析创建了一个单独的部分,如下所示,并且工作正常。
<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'。 如何解决这个问题?