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 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥30 用arduino开发esp32控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 求chat4.0解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题