简单键值对
web.config
1
2
3
4
5
6
7
|
< configSections >
< section name = "users" type = "System.Configuration.NameValueSectionHandler" />
</ configSections >
< users configSource = "users.config" ></ users >
|
users.config
1
2
3
4
|
< users >
< add key = "beijing" value = "123" ></ add >
< add key = "tianjin" value = "123" ></ add >
</ users >
|
c#
1
2
|
NameValueCollection users = System.Configuration.ConfigurationManager.GetSection( "users" ) as NameValueCollection;
Response.Write(users.Keys[0]+ "</br>" +users.Keys[1]);
|
复杂类型
web.config
1
2
3
4
5
6
7
|
< configSections >
< section name = "roles" type = "EBuy.Chapter3.NTier.WebUI.RolesConfig, EBuy.Chapter3.NTier.WebUI" />
</ configSections >
< roles configSource = "roles.config" >
</ roles >
|
roles.config
1
2
3
4
|
< roles >
< add username = "beijing" password = "123" ></ add >
< add username = "tianjin" password = "123" ></ add >
</ roles >
|
RolesCofig.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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;
}
}
} |
c#
1
2
|
XmlNode roles= System.Configuration.ConfigurationManager.GetSection( "roles" ) as XmlNode;
Response.Write(roles.ChildNodes [0].Attributes[ "username" ].InnerText);
|
还可以将配置节定义为一个实体
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
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<Role>();
for ( int i=0;i<section.ChildNodes.Count;i++)
{
list.Add( new Role (){
Username =section.ChildNodes[i].Attributes[ "username" ].InnerText ,
Password =section.ChildNodes[i].Attributes[ "password" ].InnerText });
}
return list;
}
}
public class Role
{
public string Username { get ; set ; }
public string Password{ get ; set ;}
}
} |
1
2
|
var roles = System.Configuration.ConfigurationManager.GetSection( "roles" ) as List<EBuy.Chapter3.NTier.WebUI.Role >;
Response.Write(roles.First ().Username);
|
本文转自 virusswb 51CTO博客,原文链接:http://blog.51cto.com/virusswb/1374335,如需转载请自行联系原作者