美文网首页
分享一个asp.net 平台下的配置文件方案

分享一个asp.net 平台下的配置文件方案

作者: elef | 来源:发表于2018-08-17 17:52 被阅读27次

.net 提供了很方便的配置文件方案,可以很方便的存储 Key-Value 数据,连接字符串等。我们也可以扩展 config文件,在configSections中增加自定义配置项,不过确实很繁琐,不过通过第三方程序集可以有效降低难度,比如这里要介绍的Emrys.SuperConfig 。

0. 安装程序包 Emrys.SuperConfig

PM>Install-Package Emrys.SuperConfig

1.创建一个类 UserInfo

class UserInfo
{
    public string UserName { get; set; }
    public string Email { get; set; }
    public int Age { get; set; }
    public string BlogUrl { get; set; }
    public Color FavoriteColor { get; set; }
    public Color DislikeColor { get; set; } 
    public List<string> Language { get; set; }

}
enum Color{Red,Blue,Black} 

2.修改 Web.config/App.config

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <section name="userInfo" type="Emrys.SuperConfig.Section,Emrys.SuperConfig"></section>
  </configSections>
  <userInfo userName="Emrys" email="i@emrys.me" age="27">
    <blogUrl>http://www.cnblogs.com/emrys5/</blogUrl>
    <favoriteColor>Blue</favoriteColor>
    <dislikeColor>2</dislikeColor> 
    <language>
      <value>Putonghua</value>
      <value>Huaipu</value>
      <value>English</value>
    </language> 
  </userInfo> 
</configuration>

3.读取配置

 var user = SuperConfig<UserInfo>.Value;

这基本上就实现了自定义配置项目的存储和读取。

分离配置文件

如果 web.config/app.config中保存太多的自定义配置项,不仅臃肿难以阅读,还不易维护。
如果将自定义配置存储为外部文件,比如新建一个 userInfo.xml,然后web.config中再引用这个文件,感觉就清晰多了。

  • userConfig.xml文件
<userConfig userName="Zhangsan" email="zhangsan@qq.com" age="27">
  <blogUrl>http://www.cnblogs.com/zhangsan/</blogUrl>
  <favoriteColor>Blue</favoriteColor>
  <dislikeColor>2</dislikeColor>
  <language>
    <value>Putonghua</value>
    <value>Huaipu</value>
    <value>English</value>
  </language>
</userConfig>
  • web.config
<configuration>
  <configSections>
    <section name="userConfig" type="Emrys.SuperConfig.Section,Emrys.SuperConfig"></section>
  </configSections>
  <userConfig configSource="Configs\userConfig.xml">
  </userConfig>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>
</configuration>

做好分类,从此以后配置文件再也不乱了。

相关文章

网友评论

      本文标题:分享一个asp.net 平台下的配置文件方案

      本文链接:https://www.haomeiwen.com/subject/xjutiftx.html