以下是配置节:
<eSPlusPAMSGroup>
<eSPlusPAMSSection>
<!--数据访问层配置-->
<dalConfig>        
<loadAssembly name="CN.LanPei.ESPlusPAMS.SQLServerDAL"/>         <extensionAssemblies>
           <clear />
           <extensionAssembly name="session" priority="512" enabled="true">
             <loadAssembly name="CN.LanPei.ESPlusPAMS.Extension.SessionCredential"/>
           </extensionAssembly>
           <extensionAssembly name="checking" priority="128" enabled="true">
             <loadAssembly name="CN.LanPei.ESPlusPAMS.Extension.CheckingModel"/>
           </extensionAssembly>
         </extensionAssemblies>
        
</dalConfig>      
</eSPlusPAMSSection>
</eSPlusPAMSGroup>

以下是LoadAssembly文件的代码:
using System.Configuration;namespace WebApplication2
{
    public class LoadAssembly : ConfigurationElement
    {
        public LoadAssembly()
        {
        }        [ConfigurationProperty("name", IsRequired = true)]
        public string Name
        {
            get
            {
                return (string)this["name"];
            }
        }
    }
}
以下是ExtensionAssembly的代码
using System.Configuration;namespace WebApplication2
{
    public class ExtensionAssembly : ConfigurationElement
    {
        public ExtensionAssembly()
        {
        }        public ExtensionAssembly(string name)
        {
            this.Name = name;
        }        [ConfigurationProperty("name",DefaultValue="Session123", IsRequired=true)]
        public string Name
        {
            get
            {
                return (string)this["name"];
            }
            set
            {
                this["name"] = value;
            }
        }        [ConfigurationProperty("priority",DefaultValue=(int)1, IsRequired = true)]
        public int Priority
        {
            get
            {
                return (int)this["priority"];
            }
            set
            {
                this["priority"] = value;
            }
        }        [ConfigurationProperty("enabled",DefaultValue=(bool)true, IsRequired = true)]
        public bool Enabled
        {
            get
            {
                return (bool)this["enabled"];
            }
            set
            {
                this["enabled"] = value;
            }
        }        [ConfigurationProperty("loadAssembly", IsRequired = true)]
        public LoadAssembly Assembly
        {
            get
            {
                return (LoadAssembly)this["loadAssembly"];
            }
            set
            {
                this["loadAssembly"] = value;
            }
        }
    }
}
以下是ExtensionAssemblyCollection的代码:
using System.Configuration;namespace WebApplication2
{    public class ExtensionAssemblyCollection : ConfigurationElementCollection
    {        public ExtensionAssemblyCollection()
        {
            ExtensionAssembly exten = (ExtensionAssembly)CreateNewElement();
            Add(exten);
        }        public override ConfigurationElementCollectionType CollectionType
        {
            get
            {
                return ConfigurationElementCollectionType.AddRemoveClearMap;
            }
        }        protected override ConfigurationElement CreateNewElement()
        {
            return new ExtensionAssembly();
        }        protected override ConfigurationElement CreateNewElement(string elementName)
        {
            return new ExtensionAssembly(elementName);
        }        protected override object GetElementKey(ConfigurationElement element)
        {
            return ((ExtensionAssembly)element).Name;
        }        public new string AddElementName
        {
            get
            {
                return base.AddElementName;
            }
            set
            {
                base.AddElementName = value;
            }
        }
        public new string ClearElementName
        {
            get
            {
                return base.ClearElementName;
            }
            set
            {
                base.ClearElementName = value;
            }
        }        public new string RemoveElementName
        {
            get
            {
                return base.RemoveElementName;
            }
        }        public new int Count
        {
            get
            {
                return base.Count;
            }
        }        public ExtensionAssembly this[int index]
        {
            get
            {
                return (ExtensionAssembly)BaseGet(index);
            }
        }        new public ExtensionAssembly this[string name]
        {
            get
            {
                return (ExtensionAssembly)BaseGet(name);
            }
        }        public int IndexOf(ExtensionAssembly exten)
        {
            return BaseIndexOf(exten);
        }        public void Add(ExtensionAssembly exten)
        {
            BaseAdd(exten);
        }        protected override void BaseAdd(ConfigurationElement element)
        {
            BaseAdd(element,false);
        }        public void Remove(ExtensionAssembly exten)
        {
            if (BaseIndexOf(exten) >= 0)
            {
                BaseRemove(exten.Name);
            }
        }        public void RemoveAt(int index)
        {
            BaseRemoveAt(index);
        }        public void Remove(string name)
        {
            BaseRemove(name);
        }        public void Clear()
        {
            BaseClear();
        }
    }
}

以下是DALConfig的代码:
using System.Configuration;namespace WebApplication2
{
    public class DALConfig : ConfigurationElement
    {
        ExtensionAssembly ea;        public DALConfig()
        {
            ea = new ExtensionAssembly();
        }        [ConfigurationProperty("loadAssembly", IsRequired = true)]
        public LoadAssembly Assembly
        {
            get
            {
                LoadAssembly loada = (LoadAssembly)base["loadAssembly"];
                return loada;
            }
        }        [ConfigurationProperty("extensionAssemblies", IsDefaultCollection=false)]
        public ExtensionAssemblyCollection ExtensionAssemblies
        {
            get
            {
                ExtensionAssemblyCollection eac = (ExtensionAssemblyCollection)base["extensionAssemblies"];
                return eac;
            }
        }
    }
}

出现的错误:
项“Session123”已添加。”我是根据MSDN的例子写的。可是我怎么检查,也感觉差不多。
不知道是哪里出了问题,请高手帮我看看。感激不尽。