ASP.NET 自定义配置文件设置
在ASP.NET开发的过程中,我们经常会遇到在开发、测试、发布部署等不同的环境下使用不同的连接字符串,WebAPI的连接。为了避免频频复杂的修改各个配置,因此用到了自定义配置文件设置。
此篇文章使用的自定义配置文件方法为:web.config 增加自定义Section节,相关配置全部放到webconfig。
一、 配置Web.config文件。
1.0 首先需要在configuration节点下的configSections节点中进行注册,如下:
2.0 然后将ConnectionStringSection节点配置在configuration节点下即可,具体如下:
二、 配置调用ConfigrationSection的文件。
1.0 首先要访问这个自定义节点,需要通过类来配置,我们得首先定义一个父节点类,父节点类包含子节点集合,如下:
namespace CustomConfig.Configrationner {
publicclassConnectionStringSection : ConfigurationSection {
[ConfigurationProperty(\)] publicConnectionStringCollection Publish {
get { return (ConnectionStringCollection)this[\]; } }
[ConfigurationProperty(\)] publicConnectionStringCollection Develop {
get { return (ConnectionStringCollection)this[\]; } }
[ConfigurationProperty(\)] publicConnectionStringCollection Test {
get { return (ConnectionStringCollection)this[\]; } } } }
2.0 子节点集合再包含子节点元素,如下
namespace CustomConfig.Configrationner {
publicclassConnectionStringCollection : ConfigurationElementCollection {
protectedoverrideConfigurationElement CreateNewElement() {
returnnewNameValueSettings(); }
protectedoverrideobject GetElementKey(ConfigurationElement element) {
return ((NameValueSettings)element).Name; }
//写一个索引器,方便的访问该集合中的元素。 //如果不写,则只有foreach来访问。 publicNameValueSettingsthis[int index] { get
{
returnthis.BaseGet(index) asNameValueSettings; } }
publicnewNameValueSettingsthis[string key] { get
{
returnthis.BaseGet(key) asNameValueSettings; } } } }
3.0 定义子节点元素类,如下
namespace CustomConfig.Configrationner {
///
///连接字符串类 ///
publicclassNameValueSettings : ConfigurationElement {
[ConfigurationProperty(\, IsRequired = true)] publicstring Name {
get { returnthis[\].ToString(); } set { this[\] = value; } }
[ConfigurationProperty(\, IsRequired = true)] publicstring ConnectionString {
get { returnthis[\].ToString(); } set { this[\] = value; } }
[ConfigurationProperty(\)] publicstring ProviderName {
get { returnthis[\].ToString(); } set { this[\] = value; } } } }
三、 获取自定义配置里的值。
1.0 使用如下代码取得自定义的值:
//获取连接字符串节点
ConnectionStringSection connectColl = (ConnectionStringSection)ConfigurationManager.GetSection(\); //设置开发连接字符串
string connectionString = connectColl.Develop[\].ConnectionString.ToString();
四、 配置EntityFramework 数据库连接(修改Entity Framework数据库连接为自定义字符串)。
1.0 定义EntityFramework初始化数据库连接的类:
namespace CustomConfig.Configrationner {
publicclassConfigrationTools {
#region自定义配置:数据库连接 ///
/// ************************************************************************************************************** ///注:(使用自定义数据库连接,需修改路径 Entities.edmx/Entities.Context.cs 下的构造文件) ///由: public Entities() : base(\
///改为: public Entities() : base(CustomConfig.Configrationner.ConfigrationTools.BuildConnection(), true) { } /// ************************************************************************************************************** ///
publicstaticEntityConnection BuildConnection() {
string connectionString = \; //获取连接字符串节点
ConnectionStringSection connectColl = (ConnectionStringSection)ConfigurationManager.GetSection(\); ////设置发布连接字符串
//connectionString = connectColl.Publish[\ //设置开发连接字符串
connectionString = connectColl.Develop[\].ConnectionString.ToString();
搜索“diyifanwen.net”或“第一范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,第一范文网,提供最新教学研究ASP NET自定义配置文件设置(以及修改Entity Framework数据库连接为自定义字符串) 全文阅读和word下载服务。
相关推荐: