Я использую System.Configuration.ConfigurationElement для представления некоторых данных в моем app.config.Он правильно обнаруживает, что раздел существует (если раздел не выдает ошибку), но он никогда не заполняется правильно.Для очередей я получаю только пустую коллекцию, а для sleepTime я получаю только 500.
здесь есть соответствующий раздел app.config:
<serviceBroker sleepTime="1000">
<queues>
<queue name="TestQueue" priority="1"/>
</queues>
</serviceBroker>
вот полное приложение.config
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="castle" type="Castle.Windsor.Configuration.AppDomain.CastleSectionHandler,Castle.Windsor" />
<section name="SAM.Configuration.Data" type="SAM.Configuration.Data.DataConfigurationSection, SAM.Configuration"/>
<section name="NHibernate.Caches.MemCache" type="NHibernate.Caches.MemCache.MemCacheSectionHandler,NHibernate.Caches.MemCache" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<castle/>
<connectionStrings>
<remove name="LocalSqlServer"/>
<add name="LocalSqlServer" connectionString=""/>
<add name="AuthSqlServer" connectionString=""/>
</connectionStrings>
<SAM.Configuration.Data>
<mage MaxThreads="1" SmtpHost="qa" SmtpPort="25">
<Tasks/>
</mage>
<serviceBroker sleepTime="1000">
<queues>
<queue name="TestQueue" priority="1"/>
</queues>
</serviceBroker>
<databases>
<database name="BusinessDomain" defaultConnectionName="">
<connections>
<connection>
<add key="name" value=""/>
<add key="assembly" value="SAM.Data.NHibernateProvider"/>
<add key="type" value="SAM.Data.NHibernateProvider.RepositoryManager"/>
<add key="configurationFile" value="Business.NHibernateSession.Config"/>
<add key="isEncrypted" value="FALSE" />
</connection>
<connection>
<add key="name" value=""/>
<add key="assembly" value="SAM.Data.NHibernateProvider"/>
<add key="type" value="SAM.Data.NHibernateProvider.RepositoryManager"/>
<add key="configurationFile" value="Business.NHibernateSession.Config"/>
<add key="isEncrypted" value="FALSE" />
</connection>
</connections>
</database>
</databases>
</SAM.Configuration.Data>
<NHibernate.Caches.MemCache configSource="nhibernate.memcache.config" />
</configuration>
А вот мой ConfigurationElement:
public class ServiceBrokerConfigurationElement : ConfigurationElement,
{
[ConfigurationCollection(typeof(ServiceBrokerQueueElement), AddItemName = "queue")]
[ConfigurationProperty("queues", IsRequired = true)]
public ServiceBrokerQueueElementCollection Queues
{
get { return (ServiceBrokerQueueElementCollection)this["queues"]; }
}
[ConfigurationProperty("sleepTime", DefaultValue = (int) 500, IsRequired = true)]
public int SleepTime
{
get { return (int)this["sleepTime"]; }
}
}
Вот мой ConfigurationSection (я удалил ряд других элементов, которые работают нормально)1013 *