有没有办法将部分添加到ConfigurationManager不会解析的.config文件中

时间:2009-05-20 14:56:18

标签: configuration web-config app-config

我不想为我的应用创建单独的配置文件,而是将数据存储在web.config中。

我只想在那里放一些XML并手动解析它,因为ConfigurationManager的当前实现不适合我的情况。

但是,如果没有虚拟类和属性,我无法在没有配置错误的情况下添加我的XML:分析器错误消息:无法识别的元素XXXXX。即使我创建了虚拟配置类,我也无法在所有情况下修复此错误......

有没有办法标记我的XML不被解析,以便我可以使用System.XML手动获取数据。

THX。

3 个答案:

答案 0 :(得分:5)

使用System.Configuration.IgnoreSectionHandler。

示例:

<configuration>
  <configSections>
    <section 
        name="myCustomSection" 
        type="System.Configuration.IgnoreSectionHandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
        allowLocation="false" />
  </configSections>
...
  <myCustomSection>
     ...
  </myCustomSection>
...
</configuration>

答案 1 :(得分:1)

如果您想将数据存储在.configs

中,我建议您创建一个自定义配置部分

www.codeproject.com/KB/cs/CustomConfigurationSectio.aspx

答案 2 :(得分:0)

我认为你不能这样做 - 如果你在* .config文件中玩游戏,你需要符合配置文件的XML模式 - 这意味着,你需要根据指定的模式获得你的部分,如果是这种情况,ConfigurationManager将能够解析它们(并将这样做)。

如果您需要不符合标准.NET配置架构的额外配置信息,则必须使用额外的单独配置文件 - 我没有看到任何其他方式,抱歉。

马克