求助,关于ASP.NET2.0配置文件模型的问题!!!

bryanzk 2006-01-11 03:19:27
在研究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元素只能出现一次,这是怎么回事?
...全文
177 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
guo_xp 2006-02-27
  • 打赏
  • 举报
回复
我最近也有和楼主一样的困惑。刚刚开始学这个新的模型,还没有切实感受到新模型的好处。
只是,以前用2003的时候,IConfigurationSectionHandler接口的Create方法的XmlNode类型的参数让我觉得很自由。 有了这个XmlNode,在解析自己的配置节时,可以充分利用XML来做一些复杂的操作,感觉很灵活。
但现在,用新的配置模型,对每个自定义节都需要定义好对应的属性什么的。总感觉不是那么灵活了。希望能有对这方面熟悉的高人指点一下啊。
另外,我觉得完全用自定义一个XML文件作配置文件并不算太麻烦,所用到的操作并不复杂,而且绝对是灵活的 :) 也非常想听听诸位高手们对“完全自定义的配置文件” 和 框架自己的配置文件中的自定义文件节 方面都有啥见解?
bryanzk 2006-01-11
  • 打赏
  • 举报
回复
回复人: xuwenzhuo(约定好了!我们会撑着那把油纸伞风雨同路、不分不离、)


还有你的配置文件信息要与你的实体类结构对应,然后写两个函数让他们能够互相转换。这样你操作才能方便。

在我的理解, 2.0的Configuration Model就是为了让我们省去直接操作xml文件的麻烦啊,可以直接定义和操作强类型的配置class岂不是更加方便?
xuwenzhuo 2006-01-11
  • 打赏
  • 举报
回复
还有你的配置文件信息要与你的实体类结构对应,然后写两个函数让他们能够互相转换。这样你操作才能方便。
xuwenzhuo 2006-01-11
  • 打赏
  • 举报
回复
你这样做反而麻烦了,不如自己定义Xml的格式用XMlDocumnet模型处理。
当然你要自己编写操作的API了。我在1.1里这样做的。2.0也差不多。
nameone 2006-01-11
  • 打赏
  • 举报
回复
公司還在用2003.
幫頂.

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧