ASP.NET MVC 学习笔记-7.自定义配置信息
ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如,
<appSettings> <add key="LogInfoProvider" value="Cookie" />//登录信息保存方式 </appSettings>
但是这些配置都是单个字符串信息,在某些情况下,无法做到灵活配置。
针对这种情况,使用.Net Framework提供的自定义系统配置方式来进行改善。自定义系统配置方式主要使用到以下几个类:
ConfigurationManager:通过该类能够直接获取Web.config的信息。
ConfigurationSection:表示配置文件中的一个配置节的信息。
ConfigurationElement:表示配置节中的单个配置项信息。
ConfigurationElementCollection:表示配置项的集合信息。
ConfigurationPropertyAttribute:对配置信息一些约束信息。
使用自定义配置信息,必须现在web.config配置文件的顶部进行配置声明,否则系统无法识别该配置信息。如下所示:
<configuration> <configSections> <section name="TT.appConfiguration" type="TT.Infrastructure.Core.CustomConfiguration.ApplicationConfiguration, TT.Infrastructure.Core" /> <section name="TT.connectionManager" type="TT.Infrastructure.Core.CustomConfiguration.DBConnectionConfiguration, TT.Infrastructure.Core" /> </configSections> <TT.appConfiguration appCode="Location_Management" appName="库位管理系统"/> <TT.connectionManager> …… </TT.connectionManager> …… <configuration>
在知道需要配置什么样的信息后,就需要定义读取配置的实体类信息,本文以ApplicationConfiguration的建立为例,逐步展开。
1) 创建ApplicationConfiguration类,并指定该配置的配置节名称,使用ConfigurationManager.GetSection(SECION_NAME)方法就能够读取到该配置,并将该信息强制转换为ApplicationConfiguration类即可。
/// <summary> /// 程序配置信息 /// </summary> public class ApplicationConfiguration : ConfigurationSection { private const string SECTION_NAME = "TT.appConfiguration"; /// <summary> /// 获取程序配置信息 /// </summary> /// <returns></returns> public static ApplicationConfiguration GetConfig() { ApplicationConfiguration config = ConfigurationManager.GetSection(SECTION_NAME) as ApplicationConfiguration; return config; } }
2) 定义自定义配置的属性信息,并使用ConfigurationPropertyAttribute对属性进行约束。约束的信息主要包括:配置节名称Name、是否必须IsRequired、默认值DefaultValue等。
/// <summary> /// 应用系统代码 /// </summary> [ConfigurationProperty("appCode", IsRequired = false, DefaultValue = "")] public string AppCode { get { return (string)this["appCode"]; } } /// <summary> /// 应用系统名称 /// </summary> [ConfigurationProperty("appName", IsRequired = false, DefaultValue = "")] public string AppName { get { return (string)this["appName"]; } }
3) 自定义配置信息的获取。
var appCode = ApplicationConfiguration.GetConfig().AppCode; var appName = ApplicationConfiguration.GetConfig().AppName;
使用以上方法就可以读取自定义配置信息,并在程序中使用。
- ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET MVC 学习笔记-6.异步控制器 ASP.NET MVC 学习笔记-5.Controller与View的数据传递 ASP.NET MVC 学习笔记-4.ASP.NET MVC中Ajax的应用 ASP.NET MVC 学习笔记-3.面向对象设计原则
- ASP.NET MVC 学习笔记-7.自定义配置信息(后续)
- ASP.NET MVC学习笔记-----使用自定义的View Engine
- asp.net MVC日志插件Log4Net学习笔记二:保存日志到sqlserver的配置
- [dotnetCore2.0]学习笔记之二: ASP.NET Core中,如何灵活使用静态文件和加载自定义配置
- ASP.NET MVC学习笔记-MVC运行机制之源码剖析
- [学习笔记]--ASP.Net MVC
- ASP.NET学习笔记--自定义验证控件的使用
- ASP.NET MVC 1.0 学习笔记(随时更新)
- 蛙蛙推荐:ASP.NET MVC学习笔记
- ASP.NET MVC学习笔记-ViewEngine 深入解析与应用实例
- ASP.NET MVC 学习笔记(MVC概念和工作模式)
- 蛙蛙推荐:ASP.NET MVC学习笔记
- ASP.NET MVC Preview 4 源代码学习笔记 FilterAttribute
- asp.net mvc实战-学习笔记(1)
- ASP.NET MVC学习笔记-Controller与View传值
- ASP.NET MVC学习笔记 -- NerdDinner实战1 -- 中文Visual Studio 2008的设置修改以实现复数表单数类名
- ASP.NET MVC学习笔记
- ASP.NET MVC 1.0学习笔记
- ASP.NET MVC学习笔记-Routing及视图引挚解析原理