栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

C#自定配置文件(一)

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C#自定配置文件(一)

C#自定义配置文件

.NET程序中,经常使用Config文件来配置应用程序中经常使用的值,比如数据库连接字符串。最近项目遇到一个需要配置好多节点在配置文件中的需求。为了使配置节点整洁易维护,在代码调用时也保证获取时比较直观,结合自定义配置文件专门整理了一个配置文件帮助类Demo。此篇文章主要讲述自定义配置文件的使用方法。


常见配置文件使用方法
  • 直接在connectionStringsappSettings这两个节点中添加add节点配置
    • 这种方式在项目中很常见,使用简单,这里不做介绍
  • 文件操作
    • 很多程序中(自己公司老项目),通过获取指定路径下XMLinijsontxt等文件,通过IO获取文件内容并对文件进行解析,从而获取程序需要的配置信息(不推荐)
自定义配置文件

在App.Config(web.config)中指定其他配置文件的路径和节点。
在configSections节点下配置section节点,.NET提供自带的类型进行封装。(NameValue键值对、Dictionary字典、SingTag基础结构)。Section节点的name属性是自定义节点的名称,type是接收信息的数据类型。
注意!configSections节点必须为configuration下第一个节点

configSections的name属性为自定义配置节点的名称,type 为转换的类型

ConfigurationManager.GetSection("name") 方法的参数是自定义配置文件节点的名称

NameValue键值对

配置语法格式:



	
		
		

调用方法:这里以一个静态属性的方法获取并返回Dictionary格式(后面几种方法也采用这个方式)

/// 
/// NameValueCollection
/// 
public static Dictionary NameValueConfigNode
{
    get
    {
        NameValueCollection nvc = (NameValueCollection)ConfigurationManager.GetSection("NameValueConfigNode");
        Dictionary result = new Dictionary();
         foreach (string key in nvc.AllKeys)
        { 
            result.Add(key, nvc[key]);
        }
        return result;
    }
}
Dictionary

配置文件语法格式:



	
		
		

调用方法:

/// 
/// Dictionary
/// 
public static Dictionary DictionaryConfigNode
{
    get
    {
        IDictionary dict = (IDictionary)ConfigurationManager.GetSection("DictionaryConfigNode");
        Dictionary result = new Dictionary();
        foreach (string key in dict.Keys)
        {
            result.Add(key, dict[key].ToString());
        }
        return result;
    }
}
SingTag

配置文件语法格式:



	
		
		

调用方法:

/// 
/// SingleTag
/// 
public static Dictionary SingleTagConfigNode
{
    get
    {
        Hashtable dict = (Hashtable)ConfigurationManager.GetSection("SingleTagConfigNode");
        Dictionary result = new Dictionary();
        foreach (string key in dict.Keys)
        {
            result.Add(key, dict[key].ToString());
        }
        return result;
    }
}

以上程序通过控制台应用程序测试调用效果如下:

自定义配置文件

以上三种方法,只能读取应用程序的Web.config或者app.config中的配置信息,但是在大多数项目中,业务场景复杂,配置信息更是多到看不过来,所以如果都写在web.config或者app.config中的话,不太美观,也不易维护。

那么有没有一种方法,可以根据需要,配置一个或者多个的config,并且在程序中直接调用使用的方法? (问就是有^_^)

下面举例一种自定义配置文件的写法
配置文件写法:
节点下

的属性值内容与上面三个方法相同。需要注意的是自定义节点,自定义节点只需要设置configSource属性即可,属性值指向自定义配置文件的路径;
注意:路径必须要写成相对路径。



	
		
		

这是自定义的文件内容,



	
	
	

程序中的调用方法与上面的方式一致,这种自定义配置文件的精髓在于,不用将所有配置信息都挤在一个文件中,而是根据项目需要合理的分成多个配置,只需要在web.config或者app.config中指定文件路径即可。其他使用方法没有差别

自定义结构配置文件

以上方法为常用的基本配置文件的使用方法,都是使用C#提供的类型进行获取,配置文件的节点需要按照对应格式设置,C#中还有一种可以自定义配置文件格式的调用方法,Config中科自定义节点的结构,然后在程序中需要自定义一个配置文件的类,用于接收自定义配置文件的内容;
其中使用到的类型:
ConfigurationSection、ConfigurationElementCollection、ConfigurationElement、ConfigurationProperty
上面介绍的几种方法基本上已经足够日常使用,此篇文章不在进行介绍自定义格式的写法,后期会根据个人情况(是否懒惰的情况),可能会补充此部分功能,有兴趣可以去了解一下。

写在最后

以上源代码已经放在Gitee上,可自行下载,
https://gitee.com/yang-yong-666/csharp
该项目还包含其他关于C#的帮助类,并且会持续更新!


个人交流QQ:1695690324
原创不易,转载请注明出处
博客园:https://www.cnblogs.com/yangyongdashen-S/
CSDN:https://blog.csdn.net/weixin_44312699?spm=1010.2135.3001.5343
Gitee:https://gitee.com/yang-yong-666
公众号:yi人夕岸

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1023285.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号