ASP.NET配置文件纵横谈(三)
本篇来讲讲对web.config文件的读写,并不是谁都可以对web.config文件进行读写操作的,必须要有一 定的权限才行的。 其实在web.config中的很多的配置节点都是与一个类相对应的,我们可以通过相应的类来,利用其强 类型的API来对相应的配置进行访问,而不用把web.config 当做一个XML来读取。 我们可以用两种方式来对配置文件进行访问,首先,可以用强类型的API来访问,这就要用要 ConfigurationManager类。如下:
大家应该可以看到,其实我们现在就是对sessionState节点进行访问。 在ConfigurationManager中有一个静态的方法GetSection,传入我们要访问节点的XPath,如上面的 system.web/sessionState,然后把结果转换为对应的强类型,我们就可以访问节点的属性等信息。在 System.Web.Configuration空间中,我们可以找到对应节点的强类型。 有一点要注意的就是:ConfigurationManager仅仅只能处理当前网站中的web.config,也就是说它不 能处理别的网站的中的配置文件。如我们现在的网站是DemoA,那么上面的实例代码访问的就是DemoA中的 web.config,不能访问DemoB中的web.config。 但是我们还可以用第二种方法来做,就是用WebConfigurationManager。代码如下:
上面的代码中,注意GetSection的第二个参数就申明了web.config的路径,上面的代码访问的是当前 网站中的配置文件,我们还访问其他网站中的配置文件。 上面讲述了怎么来读取一个配置文件,下面就来看看怎么对配置文件进行写的操作。 当对配置文件进行写的操作的时候,就要求我们确确实实的打开配置文件,而不仅仅只是返回一个配 置文件的引用。也就是说,我们不能用ConfigurationManager来进行写的操作,因为它只是返回一个 System.Configuration.Configuration的引用。所以我们应该用WebConfigurationManager来对配置文件 进行写的操作。 当我们用编程的方式打开配置文件,设置了一些属性后,就可以用Configuration.Save()来保存修改 。如:
注意:OpenWebConfiguration方法有很多的重载,"~"表示我们打开的是当前网站的配置文件。还有一 点很中的就是,配置文件系统没有对多线程进行同步和锁。所以载我们写一个配置文件的时候最好注意这 点。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |