Asp.net使用代码修改配置文件的节点值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Asp.net使用代码修改配置文件的节点值相关的知识,希望对你有一定的参考价值。

使用代码修改配置文件的方法:

1、打开配置文件写入的权限

2、先按节点名称长到要修改的节点,然后删除,紧接着将有新值的节点添加回去

3、关闭配置文件写入的权限

修改Appsetting节点的值,修改其它节点的方法也差不多,也是找到要修改的节点删除掉然后新新值的节点加上

技术分享
        public bool UpdateAppSettings(string key, string value)
        {
            bool reuslt = false;

            try
            {
                Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                SetFileAccess(config.FilePath + "", false);
                ConfigurationSection sections = config.GetSection("appSettings");
                bool isSet = false;
                for (int i = 0; i < ((System.Configuration.AppSettingsSection)(sections)).Settings.Count; i++)
                {
                    string itemkey = ((System.Configuration.AppSettingsSection)(sections)).Settings.AllKeys[i];
                    if (itemkey == key)
                    {
                        ((System.Configuration.AppSettingsSection)(sections)).Settings.Remove(key);
                        ((System.Configuration.AppSettingsSection)(sections)).Settings.Add(key, value);
                        isSet = true;
                        break;
                    }
                }
                if (!isSet)
                {
                    ((System.Configuration.AppSettingsSection)(sections)).Settings.Add(key, value);
                }

                config.Save();
                ConfigurationManager.RefreshSection("appSettings");

                SetFileAccess(config.FilePath + "", true);
                reuslt = true;
            }
            catch (Exception ex)
            {
                LogNet.Log.WriteLog("UpdateAppSettings", ex);
            }

            return reuslt;
        }
View Code

修改配置文件的读写权限

技术分享
        protected void SetFileAccess(string path, bool isReadOnly)
        {
            FileInfo fi = new FileInfo(path);
            if (fi.IsReadOnly != isReadOnly)
                fi.IsReadOnly = isReadOnly;
        }
View Code

 

以上是关于Asp.net使用代码修改配置文件的节点值的主要内容,如果未能解决你的问题,请参考以下文章

asp.net(c#)如何上传大文件?

ASP.net MVC 代码片段问题中的 Jqgrid 实现

asp.net页面实用代码片段

ASP.NET使用ConfigurationSection在Web.Config创建自定义配置节

asp.net如何获取到xml文件的节点值

不修改代码就能优化ASP.NET网站性能的一些方法