jzhswsw 2018-03-16 03:28 采纳率: 100%
浏览 1644
已采纳

关于C#config文件处理

有个程序的config文件是这么写的 图片说明
这个程序如果要添加配置 直接在config文件里加一行
add key="增加" value="192.168.11.111"/
程序里就可以新增一条,请问这种config文件的读取方式,在代码里是怎么实现的

  • 写回答

4条回答

  • Go 旅城通票 2018-03-16 04:49
    关注

    这个读写web.config代码,测试过可以用
    https://www.cnblogs.com/zhangqs008/p/3773630.html

    
    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="download.test" %>
    <%@ Import Namespace="System.Configuration" %>
    <%@ Import Namespace="System.Web.Configuration" %>
    <script runat="server">
    
            /// <summary>  
            /// WebConfig读写辅助类  
            /// </summary>  
            public class WebConfigManager : IDisposable  
            {  
                private Configuration _config;  
    
                /// <summary>  
                /// WebConfig读写辅助类  
                /// </summary>  
                public WebConfigManager()  
                    : this(HttpContext.Current.Request.ApplicationPath)  
                {  
                }  
                /// <summary>  
                /// WebConfig读写辅助类  
                /// </summary>  
                /// <param name="path"></param>  
                public WebConfigManager(string path)  
                {  
                    _config = WebConfigurationManager.OpenWebConfiguration(path);  
                }  
    
                #region IDisposable Members  
    
                public void Dispose()  
                {  
                    if (_config != null)  
                    {  
                        _config.Save();  
                    }  
                }  
    
                #endregion  
    
                /// <summary>   
                /// 设置应用程序配置节点,如果已经存在此节点,则会修改该节点的值,否则添加此节点  
                /// </summary>   
                /// <param name="key">节点名称</param>   
                /// <param name="value">节点值</param>   
                public void SetAppSetting(string key, string value)  
                {  
                    var appSetting = (AppSettingsSection)_config.GetSection("appSettings");  
                    if (appSetting.Settings[key] == null) //如果不存在此节点,则添加   
                    {  
                        appSetting.Settings.Add(key, value);  
                    }  
                    else //如果存在此节点,则修改   
                    {  
                        appSetting.Settings[key].Value = value;  
                    }  
                    Save();  
                }  
    
                /// <summary>   
                /// 设置数据库连接字符串节点,如果不存在此节点,则会添加此节点及对应的值,存在则修改   
                /// </summary>   
                /// <param name="key">节点名称</param>  
                /// <param name="connectionString"> </param>  
                public void SetConnectionString(string key, string connectionString)  
                {  
                    var connectionSetting = (ConnectionStringsSection)_config.GetSection("connectionStrings");  
                    if (connectionSetting.ConnectionStrings[key] == null) //如果不存在此节点,则添加   
                    {  
                        var connectionStringSettings = new ConnectionStringSettings(key, connectionString);  
                        connectionSetting.ConnectionStrings.Add(connectionStringSettings);  
                    }  
                    else //如果存在此节点,则修改   
                    {  
                        connectionSetting.ConnectionStrings[key].ConnectionString = connectionString;  
                    }  
                    Save();  
                }  
    
                /// <summary>   
                /// 保存所作的修改   
                /// </summary>   
                public void Save()  
                {  
                    _config.Save();  
                    _config = null;  
                }  
            }
            protected void Page_Load(object sender, EventArgs e)
            {
                var config = new WebConfigManager();
                config.SetAppSetting("StrRegex", "");  
            }
    </script>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办