您的位置:首页 > 编程语言 > ASP

ASP.NET MVC 学习笔记-7.自定义配置信息

2018-05-18 16:46 656 查看

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;

 

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: