C#读取Appconfig中自定义的节点
作者:网络转载 发布时间:[ 2015/5/15 13:29:46 ] 推荐标签:开发语言
在使用Nlog的时候,发现了一个之前没注意的问题。
以前,我的app配置文件都是这么写的,当然配置比较多的时候会改用xml。
如果<appSettings>节点中的内容很多的话,我自己有时候都分不清哪个是做什么的,可能朋友们会说,你加个注释不行了。但是可不可以把一些相同的配置放在一起呢,像上面的nlog一样。先试着改造下配置文件
1 <configSections>
2 <section name="mySection" type="ConfigSolution.ConfigSectionHandler,ConfigSolution"></section>
3 </configSections>
4 <mySection>
5 <port CPort="40001" WPort="40002" SPort="50000"></port>
6 <coustomAssembly CommandsAssembly="HX.Components.Command.Collection" CommandMessagesAssembly="HX.Components.CommandMessage.Collection"></coustomAssembly>
7 </mySection>
那么,怎么获取section里的值呢?从configSections 元素开始到网上风暴了一番。ConfigurationSection 类
然后知道可以通过ConfigurationManager类的GetSection方法获取到配置文件的信息。(如果应用程序需要以只读方式访问其自身配置,则对于 Web 应用程序,建议使用 GetSection() 重载方法;对于客户端应用程序,建议使用 ConfigurationManager.GetSection 方法。----MSDN)
var mySection = ConfigurationManager.GetSection("mySection");
运行一下程序试试,迎来了第一个异常。System.Configuration.ConfigurationErrorsException: 创建 mySection 的配置节处理程序时出错: 类型“ConfigSolution.ConfigSectionHandler”不从“System.Configuration.IConfigurationSectionHandler”继承。 ---> System.TypeLoadException: 类型“ConfigSolution.ConfigSectionHandler”不从“System.Configuration.IConfigurationSectionHandler”继承。
既然说我的ConfigSolution.ConfigSectionHandler不从System.Configuration.IConfigurationSectionHandler继承,那好,我继承它,然后看看这个接口都有些什么东西,Ctrl+T一下(SharpDevelop的快捷键),这接口一个方法
直接MSDN一下,IConfigurationSectionHandler.Create 信息量不是很大,一句话:IConfigurationSectionHandler.Create 方法,创建配置节处理程序。算了,直接断点跟踪一下,果然有东西
好了,剩下的是对xml的读取了。直接把section return看看,
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11