zoukankan      html  css  js  c++  java
  • ASP.NET MVC 学习笔记-7.自定义配置信息

    ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如,

    1 <appSettings>
    2   <add key="LogInfoProvider" value="Cookie" />//登录信息保存方式
    3 </appSettings>

    但是这些配置都是单个字符串信息,在某些情况下,无法做到灵活配置。

    针对这种情况,使用.Net Framework提供的自定义系统配置方式来进行改善。自定义系统配置方式主要使用到以下几个类:

    ConfigurationManager:通过该类能够直接获取Web.config的信息。

    ConfigurationSection:表示配置文件中的一个配置节的信息。

    ConfigurationElement:表示配置节中的单个配置项信息。

    ConfigurationElementCollection:表示配置项的集合信息。

    ConfigurationPropertyAttribute:对配置信息一些约束信息。

        使用自定义配置信息,必须现在web.config配置文件的顶部进行配置声明,否则系统无法识别该配置信息。如下所示:

     

     1 <configuration>
     2   <configSections>
     3     <section name="TT.appConfiguration" type="TT.Infrastructure.Core.CustomConfiguration.ApplicationConfiguration, TT.Infrastructure.Core" />
     4     <section name="TT.connectionManager" type="TT.Infrastructure.Core.CustomConfiguration.DBConnectionConfiguration, TT.Infrastructure.Core" />
     5   </configSections>
     6   <TT.appConfiguration appCode="Location_Management" appName="库位管理系统"/>
     7   <TT.connectionManager>
     8   ……
     9   </TT.connectionManager>
    10   ……
    11 <configuration>

    在知道需要配置什么样的信息后,就需要定义读取配置的实体类信息,本文以ApplicationConfiguration的建立为例,逐步展开。

    1)         创建ApplicationConfiguration类,并指定该配置的配置节名称,使用ConfigurationManager.GetSection(SECION_NAME)方法就能够读取到该配置,并将该信息强制转换为ApplicationConfiguration类即可。

     1 /// <summary>
     2 /// 程序配置信息
     3 /// </summary>
     4 public class ApplicationConfiguration : ConfigurationSection
     5 {
     6     private const string SECTION_NAME = "TT.appConfiguration";
     7 
     8     /// <summary>
     9     /// 获取程序配置信息
    10     /// </summary>
    11     /// <returns></returns>
    12     public static ApplicationConfiguration GetConfig()
    13     {
    14         ApplicationConfiguration config = ConfigurationManager.GetSection(SECTION_NAME) as ApplicationConfiguration;
    15         return config;
    16     }
    17 }

    2)         定义自定义配置的属性信息,并使用ConfigurationPropertyAttribute对属性进行约束。约束的信息主要包括:配置节名称Name、是否必须IsRequired、默认值DefaultValue等。

     1 /// <summary>
     2 /// 应用系统代码
     3 /// </summary>
     4 [ConfigurationProperty("appCode", IsRequired = false, DefaultValue = "")]
     5 public string AppCode
     6 {
     7     get
     8     {
     9          return (string)this["appCode"];
    10     }
    11 }
    12 
    13 /// <summary>
    14 /// 应用系统名称
    15 /// </summary>
    16 [ConfigurationProperty("appName", IsRequired = false, DefaultValue = "")]
    17 public string AppName
    18 {
    19     get
    20     {
    21           return (string)this["appName"];
    22     }
    23 }

    3)         自定义配置信息的获取。

    1 var appCode = ApplicationConfiguration.GetConfig().AppCode;
    2 var appName = ApplicationConfiguration.GetConfig().AppName;

    使用以上方法就可以读取自定义配置信息,并在程序中使用。

  • 相关阅读:
    css3 2D变形(transform)移动、缩放、旋转、倾斜
    鼠标经过图片会移动(css3过渡,overflow:hidden)
    CSS3 过渡 (transition )
    LICEcap – 灵活好用,GIF 屏幕录制工具
    CSS3新增选择器:伪元素选择器
    CSS3 新增选择器:伪类选择器和属性选择器
    HTML插入音频和视频:audio和video标签及其属性
    HTML5新增input标签属性
    HTML5新增常用标签
    通过EntityFramework来操作MySQL数据库
  • 原文地址:https://www.cnblogs.com/DreamOfLife/p/9056898.html
Copyright © 2011-2022 走看看