以下是配置节:
<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的例子写的。可是我怎么检查,也感觉差不多。
不知道是哪里出了问题,请高手帮我看看。感激不尽。
<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的例子写的。可是我怎么检查,也感觉差不多。
不知道是哪里出了问题,请高手帮我看看。感激不尽。
http://topic.csdn.net/u/20090328/10/9E011493-E1AA-464F-8FD9-4BC082BC5DC9.htmlhttp://www.codeproject.com/KB/aspnet/CustomXmlConfigForAspNet.aspx
我的意思是在WebConfig里自定义配置文件
“项“Session123”已添加。”
如果你用的是hashcode,添加相同的KEY会出错的,添加前得判断是否有相同的KEY,没有就添加,有就修改..