有人可以告诉我使用ConfigurationManager类的优势,该类加载了一个配置文件来进行操作VS一个XML文件和你构建的类来自己阅读吗?
最近,我构建了一个继承自ConfigurationSection的类,以便在app.config中操作自定义部分。与打开和读取XML文件相比,这是相当多的工作。
有些人选择了第一种方法,有些人选择了第二种方式。
什么是好的做法?
答案 0 :(得分:2)
这是一个老问题,但是到底是什么......所以是的,在编写配置节和元素时会有相当多的代码开销,但与使用自己的类与XML序列化器相比,你得到的包括:< / p>
可能还有其他好处,但到目前为止我想到的是这一点。
答案 1 :(得分:0)
这只是一种向配置文件读取和写入数据的推荐且更简单的方法。使用XML DOM的程度太低了。
如果需要,您始终可以使用section.SectionInformation.GetRawXml()从ConfigurationSection获取原始xml配置。同样使用SetRawXml来设置它。
使用ConfigurationManager时有一些问题,例如当您使用OpenMappedExeConfiguration加载配置文件时,您将获得一个“合并”的内存配置,并且包含来自machine.config的部分。您可以使用section.ElementInformation.Source.Equals(source.FilePath)检查某个部分是否来自您提供的文件。
参考:MSDN