简单键值对
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,如需转载请自行联系原作者