1,利用ConfigurationManager和WebConfigurationManager操作配置文件。
//打开配置文件 Configuration config = WebConfigurationManager.OpenWebConfiguration("~"); //获取appSettings节点 AppSettingsSection appSection = (AppSettingsSection)config.GetSection("appSettings"); //在appSettings节点中添加元素 appSection.Settings.Add("addkey1", "key1's value"); //删除appSettings节点中的元素 appSection.Settings.Remove("addkey1"); //修改appSettings节点中的元素 appSection.Settings["addkey2"].Value = "Modify key2's value"; config.Save();
//获取到appSettings节点下所有的add节点的值,已键值对的方式获得Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);AppSettingsSection appSettings = (AppSettingsSection) config.GetSection("appSettings");string[] appKeys = appSettings.Settings.AllKeys;for (int i = 0; i < appSettings.Settings.Count; i++){//这里只进行简单的输出Response.Write(appSettings.Settings[appKeys[i]].Value);Response.Write("");} //获得某一个key的值Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);AppSettingsSection appSettings = (AppSettingsSection)config.GetSection("appSettings");string pateTitle= appSettings.Settings["pagetitle"].Value; //获取key为patetitle的value值string siteLogo= appSettings.Settings["siteLogo"].Value; //获取key为sitelogo的value值
在ASP.NET2.0里提供了两种方式对数据库连接字符串加密,一种是使用asp_regii命令,一种是通过代码,下面显示的是通过代码方式对数据库连接字符串加密,代码如下:
Configuration config = WebConfigurationManager.OpenWebConfiguration(Request.ApplicationPath);ConfigurationSection configSection = config.GetSection("connectionStrings");if (configSection.SectionInformation.IsProtected){ //如果已经加密,就不用再加密了configSection.SectionInformation.UnprotectSection();config.Save();}else{configSection.SectionInformation.ProtectSection ("DataProtectionConfigurationProvider");config.Save();}