net 中web.config单一解决方法 (其他配置引入方式)

2021-07-01 15:07

阅读:659

标签:arp   username   app   generic   elf   gen   nbsp   hand   user   

   近期一个项目需要写许多的配置项,发现在单个web.config里面写的话会很乱也难于查找

所以搜了一下解决了,记录下来

 

 

一、   webconfig提供了引入其他config的方式

这个是连接字符串的配置你可以在database。config里面写很多链接字符串以备自己调用

database。config里面的内容如下:

xml version="1.0" encoding="utf-8"?>
connectionStrings>
  add name="SDbContext" connectionString="Server=.;Initial Catalog=Self;User ID=sa;Password=password" providerName="System.Data.SqlClient" />
 
connectionStrings>

 


这个是键值对的方式存放代码如下:

xml version="1.0" encoding="utf-8"?>
appSettings>
  
  
  add key="LoginProvider" value="Cookie" />
  
  add key="IsLog" value="true" />
  
  add key="CommandTimeout" value="180" />
  
  add key="IsIPFilter" value="false" />
  
  
  add key="Contact" value="TE Software(Mobility)" />
  
  add key="SoftName" value="Sub Self" />
  
  add key="Version" value="1.0" />

  
  add key="AppName" value="" />

  
  add key="SqlGetBomList" value="" />
appSettings>

以上两个是不需要特殊的配置的,放到configuration里面 configSections的下面这样就可以

 

 

二、下面介绍自定义配置节

configSections>
                                                                                                                             
   section name="users" type="System.Configuration.NameValueSectionHandler"/>
                                                                                                                              
                                                                                                                              
 configSections>
 users  configSource="users.config">users>

注意configsections里面的一条,是声明这是以什么组织方式

users.config 里面的内容如下:

users>
  add key="beijing" value="123">add>
  add key="tianjin" value="123">add>
users>

获取配置的方式:

NameValueCollection users = System.Configuration.ConfigurationManager.GetSection("users") as NameValueCollection;
            Response.Write(users.Keys[0]+""+users.Keys[1]);

  三、复杂类型:

复杂类型的声明就不同了

configSections>
                                                                          
section name="roles" type="EBuy.Chapter3.NTier.WebUI.RolesConfig, EBuy.Chapter3.NTier.WebUI"/>
                                                                          
configSections>
roles configSource="roles.config">
  roles>

内容如下

roles>
  add username="beijing" password="123">add>
  add username="tianjin" password="123">add>
roles>

获取方式:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace EBuy.Chapter3.NTier.WebUI
{
    public class RolesConfig : System.Configuration.IConfigurationSectionHandler
    {
        public object Create(object parent, object configContext, System.Xml.XmlNode section)
        {
            return section;
        }
    }
}

  

XmlNode roles= System.Configuration.ConfigurationManager.GetSection("roles") as XmlNode;
           Response.Write(roles.ChildNodes [0].Attributes["username"].InnerText);

  还可以配置为实体

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace EBuy.Chapter3.NTier.WebUI
{
    public class RolesConfig : System.Configuration.IConfigurationSectionHandler
    {
        public object Create(object parent, object configContext, System.Xml.XmlNode section)
        {
            var list=new List();
            for(int i=0;i

  

var roles = System.Configuration.ConfigurationManager.GetSection("roles") as List;
          Response.Write(roles.First ().Username);

  

net 中web.config单一解决方法 (其他配置引入方式)

标签:arp   username   app   generic   elf   gen   nbsp   hand   user   

原文地址:http://www.cnblogs.com/barnet/p/7132522.html

上一篇:Ajax

下一篇:windows 下git + github


评论


亲,登录后才可以留言!