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

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

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

 

 

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

<connectionStrings configSource="Configs\database.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>

 


<appSettings configSource="Configs\system.config" />

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

<?xml version="1.0" encoding="utf-8"?>
<appSettings><!-- ================== 1:开发系统相关配置 ================== --><!-- 登陆提供者模式:Session、Cookie--><add key="LoginProvider" value="Cookie" /><!-- 启用系统日志--><add key="IsLog" value="true" /><!-- 数据库超时间--><add key="CommandTimeout" value="180" /><!--启用IP过滤 --><add key="IsIPFilter" value="false" /><!-- ================== 2:系统软件参数配置 ================== --><!-- 联系我们 --><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]+"</br>"+users.Keys[1]);
users.Get("beijing");

 

  三、复杂类型:

复杂类型的声明就不同了

<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<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;}}
}var roles = System.Configuration.ConfigurationManager.GetSection("roles") as List<EBuy.Chapter3.NTier.WebUI.Role >;Response.Write(roles.First ().Username);

  

转载于:https://www.cnblogs.com/barnet/p/7132522.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/572251.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Servlet方法详解

Servlet&#xff1a; Servlet是SUN公司提供的一套规范&#xff0c;名称就叫Servlet规范&#xff0c;它也是JavaEE规范之一。使用JavaEE的API。目前在Oracle官网中的最新版本是JavaEE8&#xff0c; Servlet是一个运行在web服务端的java小程序它可以用于接收和响应客户端的请求要…

继承的实现原理

一.继承的实现原理 1.继承顺序 1.1单独分叉线路&#xff1a;经典类与新式类依次从左到右&#xff0c;深度优先 1.2多条重合线路&#xff1a;经典类一路到头&#xff0c;深度优先&#xff1b;新式类&#xff0c;广度优先。<参考MRO列表&#xff0c;仅在新式类有> class A(…

Python自动化之列表

##将首字母改成大写# name alex# v name.capitalize()# print(v)##将首字母改成小写# name Alex# v name.casefold()# print(v)###传一个值&#xff0c;两边补的是添加的字符# name Alex# v name.center(20,*)# print(v)##统计字符串出现的次数# name Alex# v name.cou…

Request请求

Request请求&#xff1a; Request请求&#xff0c;就是客户端希望从服务器端获取资源&#xff0c;向服务器发出询问。在B/S架构中&#xff0c;就是客户浏览器向服务器发出询问。在我们的JavaEE工程中&#xff0c;客户浏览器发出询问&#xff0c;要遵循HTTP协议所规定的。请求对…

MySQL编程基础

本文是关于MySQL编程中的一些基础知识&#xff0c;包括变量和运算符、常用语句、函数。 一、变量与运算符 1.用户会话变量声明&#xff1a;SET 变量名 表达式;//即&#xff1a;用户会话变量无需提前定义&#xff0c;直接用赋值语句赋值&#xff0c;就算是定义了&#xff08;也…

Response响应方法详解

Response&#xff1a; 响应&#xff1a;服务器把请求的处理结果告知客户端。在B/S架构中&#xff0c;响应就是把结果带回浏览器。响应对象&#xff1a;在项目中用于发送响应的对象 常用状态码&#xff1a; 状态码说明200执行成功302它和307一样&#xff0c;都是用于重定向的状…

perl6 HTTP::UserAgent (2)

http://www.cnblogs.com/perl6/p/6911166.html 之前这里有个小小例子&#xff0c; 这里只要是总结一下。 HTTP::UserAgent包含了以下模块: ---------------------------------------------------------------------------------------------- Module |Path-Nam…

Java会话技术

会话技术&#xff1a; 会话指的是客户端浏览器和服务端之间的度偶次请求和响应当打开浏览器&#xff0c;访问网站地址后&#xff0c;会话开始&#xff0c;当关闭浏览器&#xff08;或者到了过期时间&#xff09;&#xff0c;会话结束。就像打电话只要不挂电话就是一次会话。 会…

【调用IP宏文件进行仿真】modelsim仿真时出现 Instantiation of 'xxx' failed. The design unit was not found....

出现错误类似&#xff1a;modelsim 仿真fifo时出现 Error: (vsim-3033) E:/Programs/ModelSim/fifo/ps2_fifo.v(75): Instantiation of scfifo failed. The design unit was not found.仿真波形不对&#xff0c;调用的ip核没有输出&#xff08;白色虚线&#xff09;等情况&…

Java Server Page

JSP JSP全称是Java Server Page&#xff0c;基于Java和Servlet一样是sun公司推出的一套开发动态web资源的技术&#xff0c;称为JSP/Servlet规范。JSP的本质其实就是一个Servlet。jsp是一种动态网页技术标准&#xff0c;jsp部署在服务器上可以处理客户端的请求&#xff0c;并根据…

HDFS概述(2)————Block块大小设置

参考&#xff1a;HDFS概述&#xff08;4&#xff09;————HDFS权限HDFS概述&#xff08;3&#xff09;————HDFS FederationHDFS概述&#xff08;2&#xff09;————Block块大小设置HDFS概述&#xff08;1&#xff09;————HDFS架构问题Q: 一个常被问到的一个问题是…

PTA 01-复杂度2 Maximum Subsequence Sum (25分)

题目地址 https://pta.patest.cn/pta/test/16/exam/4/question/663 5-1 Maximum Subsequence Sum (25分) Given a sequence of KK integers { N_1N​1​​, N_2N​2​​, ..., N_KN​K​​ }. A continuous subsequence is defined to be { N_iN​i​​, N_{i1}N​i1​​, ..…

Listener

观察者设计模式&#xff1a; 它是事件驱动的一种体现形式。就好比在做什么事情的时候被人盯着。当对应做到某件事时&#xff0c;触发事件。 观察者模式通常由以下三部分组成&#xff1a; ​1. 事件源&#xff1a;触发事件的对象。 2.​ 事件&#xff1a;触发的动作&#xff0c;…

BZOJ 1083: [SCOI2005]繁忙的都市【Kruscal最小生成树裸题】

1083: [SCOI2005]繁忙的都市 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2925 Solved: 1927[Submit][Status][Discuss]Description 城市C是一个非常繁忙的大都市&#xff0c;城市中的道路十分的拥挤&#xff0c;于是市长决定对其中的道路进行改造。城市C的道 路是这样分…

Mysql介绍与安装LinuxmacOS系统

数据库&#xff1a; 用于存储和管理数据的仓库 数据库的好处&#xff1a; 可以持久化存储数据方便存储和管理数据使用了统一的方式操作数据库 – SQL 常见的数据库&#xff1a; Oracle&#xff1a;收费的大型数据库&#xff0c;Oracle公司的产品。Oracle收购SUN公司&#xff0c…

如何查看Laravel版本号的三种方法

1.PHP artisan --version 2.vim vendor/laravel/framework/src/Illuminate/Foundation/Application.php 3&#xff1a;可以写在路由里 5.4版本的路由文件夹是routes。我们可以写在routes\web.php里。 Route::get(laravel-version, function(){ $laravel app(); return…

最全的Mysql数据类型

数值类型&#xff1a; 类型大小范围&#xff08;有符号&#xff09;范围&#xff08;无符号&#xff09;用途Bit1bytes-128 ~ 120 ~ 255小整数值TINYINT1 byte-128 ~ 1270 ~ 255小整数值SMALLINT2 bytes-32768 ~ 327670 ~ 65535大整数值MEDIUMINT3 bytes-8388608 ~ 83886070 ~…

02_反汇编_反编译

实际上安卓的应用都是zip包,只不过把zip扩展名修改了,修改成了APK.所以如果你想拿到它的图片的话,实际上特别简单&#xff0c;你就把它这个.apk换成.zip.换成.zip之后这里的图片资源就都可以拿到了. 有些公司可能美工的水平或者美工的人数比较少&#xff0c;项目还比较急&#…

SQL约束语法

约束 作用&#xff1a;对表中的数据进行限定&#xff0c;保证数据的正确性、有效性、完整性&#xff01; 约束分类&#xff1a; 约束说明PRIMARY KEY主键约束PRIMARY KEY AUTO_INCREMENT主键、自动增长UNIQUE唯一约束NOT NULL非空约束FOREIGN KEY外键约束FOREIGN KEY ON UPDAT…

hdu 2489 Minimal Ratio Tree

https://vjudge.net/problem/HDU-2489 题意&#xff1a;求一个完全图的最优比率生成树&#xff0c;点的个数由题给出。最优比率生成树是边的权值之和与点的权值之和的比值最小的生成树。 思路&#xff1a;一开始用dfs枚举搜索每一种情况&#xff0c;t了&#xff0c;枚举的情况太…