在web.config或者app.config中增加自定义配置节

简介:

简单键值对


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,如需转载请自行联系原作者
目录
相关文章
|
13天前
|
算法 安全 Java
微服务(四)-config配置中心的配置加解密
微服务(四)-config配置中心的配置加解密
|
11天前
|
小程序 前端开发 中间件
ThinkPHP 配置跨域请求,使用TP的内置跨域类配置,小程序和web网页跨域请求的区别及格式说明
本文介绍了如何在ThinkPHP框架中配置跨域请求,使用了TP内置的跨域类`\think\middleware\AllowCrossDomain::class`。文章还讨论了小程序和web网页在跨域请求格式上的区别,并提供了解决方案,包括修改跨域中间件源码以支持`Origin`和`token`。此外,还介绍了微信小程序跨域请求的示例和web网页前端发送Axios跨域请求的请求拦截器配置。
ThinkPHP 配置跨域请求,使用TP的内置跨域类配置,小程序和web网页跨域请求的区别及格式说明
|
1月前
|
监控 Apache
HAProxy的高级配置选项-Web服务器状态监测
这篇文章介绍了HAProxy的高级配置选项,特别是如何进行Web服务器状态监测,包括基于四层传输端口监测、基于指定URI监测和基于指定URI的request请求头部内容监测三种方式,并通过实战案例展示了配置过程和效果。
58 8
HAProxy的高级配置选项-Web服务器状态监测
|
13天前
|
JavaScript
Vue3基础(19)___vite.config.js中配置路径别名
本文介绍了如何在Vue 3的Vite配置文件`vite.config.js`中设置路径别名,以及如何在页面中使用这些别名导入模块。
15 0
Vue3基础(19)___vite.config.js中配置路径别名
|
2月前
|
移动开发 JavaScript 前端开发
UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)
这篇文章介绍了在UniApp H5项目中处理跨域问题的两种方法:通过修改manifest.json文件配置h5设置,或在项目根目录创建vue.config.js文件进行代理配置,并提供了具体的配置代码示例。
UniApp H5 跨域代理配置并使用(配置manifest.json、vue.config.js)
|
29天前
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub的解决之法
An exception occurred while retrieving properties for Event Hub: logicapp. Error Message: 'ClientSecretCredential authentication failed: AADSTS90002: Tenant 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx' not found. Check to make sure you have the correct tenant ID and are signing into the correct cloud. Che
|
2月前
|
开发框架 .NET Windows
【App Service】在App Service中配置Virtual applications and directories,访问目录中的静态文件报错404
【App Service】在App Service中配置Virtual applications and directories,访问目录中的静态文件报错404
|
2月前
|
C++
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub
【Azure Logic App】使用Event Hub 连接器配置 Active Directory OAuth 认证无法成功连接到中国区Event Hub
|
2月前
|
Java 应用服务中间件 开发工具
[App Service for Windows]通过 KUDU 查看 Tomcat 配置信息
[App Service for Windows]通过 KUDU 查看 Tomcat 配置信息
|
2月前
|
Java 应用服务中间件 Windows
【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
【App Service for Windows】为 App Service 配置自定义 Tomcat 环境
下一篇
无影云桌面