首页 > 作文

通过C#程序操作Config文件

更新时间:2023-04-05 22:21:16 阅读: 评论:0

对于config意识形态分析研判文件,一般情况下都是使用configurationmanager加载,然后通过读取相应节点的值来获取想要的数据,但是,有时候需要修改config文件的值,这时候就用到了openexeconfiguration()方法。

msdn上面对该方法的解释:configurationmanager.openexeconfiguration方法用来把指定的客户端配置文件作为configuration对象打开,该方法具有佳洁士广告两个重载:

名称说明configurationmanager.openexeconfiguration (configurationurlevel)将当前应用程序的配置文件作为c驳回起诉onfiguration对象打开。configurationmanager.openexeconfiguration (string)将指定的客户端配置文件作为configuration对象打开。

一、使用openexeconfiguration(configurationurlevel)重载设置当前应用程序的配置文件

客户端应用程序使用应用于所有用户的全局配置、应用于单个用户的单独配置以及应用于漫游用户的配置。urlevel 参数通过指示该配置文件是不具有用户级别(配置文件与应用程序位于同一目录中),还是具有一个依每个用户而定的用户级别(配置安全教育制度文件位于用户级别所确定的应用程序设置路径中),从而确定所打开的配置文件的位置。

通过向urlevel 传递下列值之一来指定要获取的配置:

若要获取应用于所有用户的configuration对象,请将urlevel 设置为 none。

若要获取应用于当前用户的本地configuration对象,请将urlevel 设置为 perurroamingandlocal。

若要获取应用于当前用户的漫游configuration对象,请将urlevel 设置为 perurroaming。

注意:若要获取资源的configuration对象,您的代码必须对它从中继承设置的所有配置文件具有“读取”特权。若要更新配置文件,您的代码还必须对该配置文件及其所在目录具有“写入”特权。

示例程序:

1、配置文件结构如下:

2、通过程序修改localhost1节点的值

二、使用openexeco河北省高考分数线nfiguration(string)重载设置指定的客户端配置文件

重载指定的客户端config文件主要包括下面3种情况:

1、加载非当前应用程序yyy.exe默认的config文件的xxx.exe.config文件(yyy.exe是当前应用程序,xxx.exe.config与yyy.exe.config文件不在同一目录下)。2、加载非应用程序的xxx.config文件。3、让类库xxx.dll内的函数读取默认config文件的时候,读取的是xxx.dll同级目录下的xxx.dll.config文件,而不是加载xxx.dll的应用程序yyy.exe的默认应用程序配置文件:yyy.exe.config。

注意:在类库中使用configruationmanager读取的不是自动编译生成的xxx.dll.config文件,而是引用类库的应用程序yyy.exe的yyy.exe.config文件。

解决方法:

按照msdn上的说明,我们把要打开的xxx.exe.config的路径作为参数传入,代码如下:

但是程序运行的时候报错,经过调试,发现con对象的filepath属性的值为:c:\modify.exe.config.config,程序自己在传入的参数后增加了“.config”作为要打开的config文件的路径,因为没有这个文件,所以程序报错。这里要传入的参数,不应该是要打开的config文件的路径,而是这个config文件对应的应用程序的路径,上面的代码应修改为:

再次运行程序,还是报错,提示“加载配置文件时出错:参数exepath”无效。这里要传入应用程序的路径(exepath)没错,但是因为在xxx.exe.config文件的同一目录下,没有xxx.exe文件,因此我们传入的exepath实际上是无效的,为了能够加载xxx.exe.config文件,需要在同一目录下增加一个xxx.exe文件。(可以在同一目录下新建一个txt文件,修改名称为xxx,扩展名为.exe,这样就可以加载xxx.exe.config配置文件了)

完整的代码如下:

注意:

使用configurationmanager.openexeconfiguration(string exepath)即可,同时注意2个小细节:

a:改方法需传入的是exepath,而不是configpath;b:exepath必须是有效的,因此xxx.exe和xxx.exe.config应该成对出现,缺一不可。

加载非应用程序的xxx.config文件

在上面的例子中,观察xxx.exe.config文件的名称,发现,若把xxx.exe看成yyy,则xxx.exe.config=yyy.config,也就是说:xxx.exe.config是xxx.config文件的一种特殊形式,所以,可以使用如下的代码加载xx.config文件:

注意:c:\modify这个文件必须要有。

加载xxx.dll.config文件:

还是从文件名上来找思路,我们要加载xxx.dll.config文件,可以和加载xxx.config文件一样。在dll内,碰到需要读取config文件信息的时候,放弃使用configurationmanager读取节点的值,而是使用openexeconfiguration(string exepath)方法加载config文件为一个configuration对象来使用。

注意:通过程序修改配置文件中节点的值,不会修改.config文件里面的值,更改只是发生在内存中。

到此这篇关于通过c#程序操作config文件的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。

本文发布于:2023-04-05 22:21:14,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/a722fe9e0b368b78817b0866b3e5e939.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:通过C#程序操作Config文件.doc

本文 PDF 下载地址:通过C#程序操作Config文件.pdf

上一篇:火柴会自燃吗
下一篇:返回列表
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图