求助,关于ASP.NET2.0配置文件模型的问题!!!
在研究ASP.NET2.0 为公司新项目作准备的时候,发现两个问题,希望各位高手不吝赐教:
1、如何读取自定义的配置文件?
说明:我使用WebConfigurationManager.GetSection方法,msdn说是有一个重载的,第二个参数可以是自己放置自定义配置文件的路径,可是我无论如何都不能成功,这是怎么回事?比如我的文件叫:MyConfig.config,与web.config在同一个目录下,我该怎么写参数?
2、自定义配置的层次关系问题
说明:在asp.net2.0 中,对于这样一个配置文件,我该如何定义其对应的配置类?
<CustomConfig>
<General>
<Common>
<add name="SaveDBLog" value="1"/>
<add name="SaveActionLog" value="0"/>
</Common>
<Navigation>
<Modules name="UserMgr" url="...">
<Action>
<add name="addUser" url="..." isPop="1"/>
<add name="deleteUser" url="..." isPop="0"/>
</Action>
</Modules>
<Modules name="CompanyMgr" url="...">
<Action>
<add name="add" url="..." isPop="0"/>
<add name="update" url="..." isPop="1"/>
</Action>
</Modules>
</Navigation>
</General>
<SpecifiedLocation id="11">
<Common>
<add name="SaveDBLog" value="1"/>
<add name="SaveActionLog" value="0"/>
</Common>
<Navigation>
<Modules name="UserMgr" url="...">
<Action>
<add name="addUser" url="..." isPop="0"/>
<add name="deleteUser" url="..." isPop="0"/>
</Action>
</Modules>
<Modules name="CompanyMgr" url="...">
<Action>
<add name="add" url="..." isPop="0"/>
<add name="update" url="..." isPop="1"/>
</Action>
</Modules>
</Navigation>
</SpecifiedLocation>
</CustomConfig>
我实验了简单的配置层次,如下:
<CustomConfig>
<Common>
<add name="SaveDBLog" value="1"/>
<add name="SaveActionLog" value="0"/>
</Common>
</CustomConfig>
我定义一个SectionHandler, 对应CustomConfig; 一个ElementCollection对应Common,一个Element对应Add,这样是可以的,后来加了一些层次,
诸如上面的General部分,我把Modules也定义为ElementCollection,结果,运行的时候,就说Modules元素只能出现一次,这是怎么回事?