在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,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
58 4
|
2月前
|
移动开发 开发框架 小程序
uni-app:demo&媒体文件&配置全局的变量(三)
uni-app 是一个使用 Vue.js 构建多平台应用的框架,支持微信小程序、支付宝小程序、H5 和 App 等平台。本文档介绍了 uni-app 的基本用法,包括登录示例、媒体文件处理、全局变量配置和 Vuex 状态管理的实现。通过这些示例,开发者可以快速上手并高效开发多平台应用。
|
1月前
|
JavaScript 前端开发 开发工具
web项目规范配置(husky、eslint、lint-staged、commit)
通过上述配置,可以确保在Web项目开发过程中自动进行代码质量检查和规范化提交。Husky、ESLint、lint-staged和Commitlint共同作用,使得每次提交代码之前都会自动检查代码风格和语法问题,防止不符合规范的代码进入代码库。这不仅提高了代码质量,还保证了团队协作中的一致性。希望这些配置指南能帮助你建立高效的开发流程。
44 5
|
3月前
|
小程序 前端开发 中间件
ThinkPHP 配置跨域请求,使用TP的内置跨域类配置,小程序和web网页跨域请求的区别及格式说明
本文介绍了如何在ThinkPHP框架中配置跨域请求,使用了TP内置的跨域类`\think\middleware\AllowCrossDomain::class`。文章还讨论了小程序和web网页在跨域请求格式上的区别,并提供了解决方案,包括修改跨域中间件源码以支持`Origin`和`token`。此外,还介绍了微信小程序跨域请求的示例和web网页前端发送Axios跨域请求的请求拦截器配置。
ThinkPHP 配置跨域请求,使用TP的内置跨域类配置,小程序和web网页跨域请求的区别及格式说明
|
3月前
|
监控 Apache
HAProxy的高级配置选项-Web服务器状态监测
这篇文章介绍了HAProxy的高级配置选项,特别是如何进行Web服务器状态监测,包括基于四层传输端口监测、基于指定URI监测和基于指定URI的request请求头部内容监测三种方式,并通过实战案例展示了配置过程和效果。
99 8
HAProxy的高级配置选项-Web服务器状态监测
|
2月前
|
监控 Java Maven
springboot学习二:springboot 初创建 web 项目、修改banner、热部署插件、切换运行环境、springboot参数配置,打包项目并测试成功
这篇文章介绍了如何快速创建Spring Boot项目,包括项目的初始化、结构、打包部署、修改启动Banner、热部署、环境切换和参数配置等基础操作。
157 0
|
2月前
|
NoSQL Java 数据库连接
springBoot:整合其他框架&condition&切换web配置 (五)
本文档介绍了如何在Spring Boot项目中整合JUnit、Redis和MyBatis等框架,并提供了相应的依赖配置示例。同时,还展示了如何通过条件注解实现Bean的条件创建,以及如何切换Web服务器配置,从默认的Tomcat切换到Jetty。
|
2月前
|
监控 安全 Apache
构建安全的URL重定向策略:确保从Web到App平滑过渡的最佳实践
【10月更文挑战第2天】URL重定向是Web开发中常见的操作,它允许服务器根据请求的URL将用户重定向到另一个URL。然而,如果重定向过程没有得到妥善处理,可能会导致安全漏洞,如开放重定向攻击。因此,确保重定向过程的安全性至关重要。
127 0
|
3月前
【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
|
4月前
|
前端开发 开发者 Apache
揭秘Apache Wicket项目结构:如何打造Web应用的钢铁长城,告别混乱代码!
【8月更文挑战第31天】Apache Wicket凭借其组件化设计深受Java Web开发者青睐。本文详细解析了Wicket项目结构,帮助你构建可维护的大型Web应用。通过示例展示了如何使用Maven管理依赖,并组织页面、组件及业务逻辑,确保代码清晰易懂。Wicket提供的页面继承、组件重用等功能进一步增强了项目的可维护性和扩展性。掌握这些技巧,能够显著提升开发效率,构建更稳定的Web应用。
113 0