通过configSource提高web.config配置灵活性

很多时候我们会有这样的情况,开发环境和测试环境中的配置文件是不一样的,最明显的就是数据库连接串,这样,每次我们发布一个测试版本,都要手动去修改一下配置文件,是不是很麻烦的说。其实利用web.config中的configSource属性,可以很方便的为我们指定外部配置为该节点的内容。这样我们在web.config中只需要指定该配置的configSource的路径就行,而我们再发布的时候,就不需要再修改web.config文件了。

例如,将connectionStrings指定为外部文件:db.config

原配置:

  <connectionStrings><add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-WebApplication1-20140304225906;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-WebApplication1-20140304225906.mdf"providerName="System.Data.SqlClient" /><add name="ReportServerTempDBConnectionString" connectionString="Data Source=.;Initial Catalog=ReportServerTempDB;Integrated Security=True"providerName="System.Data.SqlClient" /></connectionStrings>

指定外部文件:

  <connectionStrings configSource="db.config"/>

外部文件db.config:

 <connectionStrings><add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-WebApplication1-20140304225906;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-WebApplication1-20140304225906.mdf"providerName="System.Data.SqlClient" /><add name="ReportServerTempDBConnectionString" connectionString="Data Source=.;Initial Catalog=ReportServerTempDB;Integrated Security=True"providerName="System.Data.SqlClient" /></connectionStrings>

说几个注意点:

1.如果指定了configSource,就以外部文件为准,web.config中connectionStrings下面的节点配置就无效了,即使web.config中connectionStrings下面的连接串节点没有删除掉也是无效的。

2.外部文件的根节点必须与web.config中指定的节点相同(其实就是将该节点的配置移到外部文件中)

3.一个节点只能指定一个外部配置文件,不能将多个节点的外部文件指定为同一个,如不能将connectionStrings与appSettings的configSource指定为同一个文件。

4.外部文件与web.config处在同一目录。

 

转载于:https://www.cnblogs.com/Gyoung/p/3590778.html

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

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

相关文章

实现分页的通用存储过程

显示指定表、视图、查询结果的第X页 对于表中主键或标识列的情况,直接从原表取数查询&#xff0c;其它情况使用临时表的方法 如果视图或查询结果中有主键,不推荐此方法 如果使用查询语句,而且查询语句使用了order by,则查询语句必须包含top 语句--感谢csdn.net邹建 --*//*--调…

React(74)--onRef在react中的使用

当在子组件中调用onRef函数时&#xff0c;正在调用从父组件传递的函数。this.props.onRef&#xff08;this&#xff09;这里的参数指向子组件本身&#xff0c;父组件接收该引用作为第一个参数&#xff1a;onRef {ref >&#xff08;this.child ref&#xff09;}然后它使用t…

CS144 lab0 笔记

CS144 lab0 笔记 下学期就学习计算机网络了,假期正好找个lab预习一下 配置 直接用 WSL2 Clion(安装在WSL2上) 做的实验,还是比用vscode方便一些的 直接fork仓库git clone …用clion打开,他都会自动生成开始写代码 实验 writing webget(入门) 这个实验就是让你熟悉一下网络…

ASP.NET常用代码

1. 打开新的窗口并传送参数&#xff1a; 传送参数&#xff1a; response.write("<script>window.open(*.aspx?id"this.DropDownList1.SelectIndex"&id1"...")</script>")接收参数&#xff1a; string a Request.QueryString(…

一步步学习SPD2010--第二章节--处理SP网站(6)---- 探索SP网站

SP技术没有一个界面&#xff1b;你可以通过使用Web浏览器或者兼容程序如Office 应用程序&#xff0c;包括SPD。你可以选择适合你必须完成的任务的接口。然而&#xff0c;根据你选择的程序&#xff0c;你可能有SP网站的不同视图。如果你使用MS Word&#xff0c;你只看到了网站和…

江民公司网络版问题汇总三

客户端和主控连接问题 登录江民控制台时&#xff0c;查找主机IP地址时查找不到&#xff0c;下面的客户端也查找不到主控的IP地址。<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />1&#xff0e; 如果您的主控机器是XP 或者2003…

CS144 lab1 笔记

CS144 lab1 笔记 上图是TCP实现中模块和数据流的安排,我们要实现的就是StreamReassembler 一个字符重组器,将乱序的字符串,按照索引排序,使其成为连续字符,供TCPSender和TCPReceiver使用 有容量限制,超出的字符直接丢掉(不是整个片段) TCP接收到的片段从零开始,不会溢出 任何…

Netty 4.0 新的特性及需要注意的地方

Netty 4.0 新的特性及需要注意的地方 这篇文章和你一起过下Netty的主发行版本的一些显著的改变和新特性&#xff0c;让你在把你的应用程序转换到新版本的时候有个概念。 项目结构改变 Netty的包名从org.jboss.netty改为io.netty&#xff0c;因为我们不在是JBoss.org的一部分了。…

CS144 lab2 笔记

CS144 lab2 笔记 介绍 在lab0中&#xff0c;我们实现了一个ByteStream。 在lab1中&#xff0c;实现了一个重组字符片段的StreamReassembler&#xff0c;重组收到的字符片段&#xff0c;并且将排序好的字符串退送到ByteStream 在lab2中&#xff0c;j将实现一个TCPReceiver,它…

附件下载,中文文件名乱码如何解决???

问:我写了个程序&#xff0c;里面有文件要作为附件下载&#xff0c;英文文件名都正常&#xff0c;但中文文件名就会乱码&#xff0c;不知道如何解决&#xff0c;望高手指点。代码如下&#xff1a;&#xff1d;&#xff1d;&#xff1d;&#xff1d;&#xff1d;&#xff1d;&am…

养生之道

晚上 9-11点为免疫系统&#xff08;淋巴&#xff09;排毒时间&#xff0c;此段时间应安静或听音乐 晚间 11-凌晨 1点&#xff0c;肝的排毒&#xff0c;需在熟睡中进行。 凌晨 1-3点&#xff0c;胆的排毒&#xff0c;亦同。 凌晨 3-5点&#xff0c;肺的排毒。此即为何咳嗽的人…

freemarker小例子

1.在D盘下创建一个目录D:\\freemarker 2.在以上目录中放入一个模板文件test.ftl,内容如下&#xff1a; 第一个测试程序&#xff1a;${abc} 3.java代码如下&#xff08;需要导入freemarker.jar包&#xff09; Java代码 : package cn.freeteam.util;import java.io.BufferedW…

CS144 计算机网络实验 lab3 笔记

CS144 计算机网络实验 lab3 笔记 介绍 本实验中,我们将会在之前实验的基础上,实现一个TCP sender ----将字节流转换成数据报并发送. TCP协议是一个在不可靠的协议上提供可靠的,流量控制的协议。 我们在本实验中会实现一个TCP发送端&#xff0c;负责将发送端应用层传入的比特…

发送附件时,防止文件名中的中文字符变成乱码

在.net2005中&#xff0c;利用System.Net.Mail;下的MailMessage类发送邮件&#xff0c;为了防止附件文件名中的中文字符变成乱码&#xff0c;需要加attachment.NameEncoding Encoding.GetEncoding("GB2312");详细见下面的函数&#xff1a; private bool SendMail(s…

React(77)--纯函数和非纯函数

let student {firstName: "testing",lastName: "testing",marks: 500 }// 非纯函数 function appendAddress() {student.address {streetNumber:"0000", streetName: "first", city:"somecity"}; }console.log(appendAddr…

计算机进程小知识

最基本的系统进程&#xff08;也就是说&#xff0c;这些进程是系统运行的基本条件&#xff0c;有了这些进程&#xff0c;系统就能正常运行&#xff09;: smss.exe Session Manager csrss.exe 子系统服务器进程 winlogon.exe 管理用户登录 services.exe 包含很多系统服务 lsass.…

CS144 lab4 计算机网络实验 笔记

CS144 lab4 计算机网络实验 笔记 介绍 本实验中,我们将组合TCP sender和TCP receiver实现一个完整的TCP connection TCP是全双工连接,所以两方可以同时接收/发送信息,一端随时都有可能接收.发送信息 主要根据上图实现 tcp_connection.cc #include "tcp_connection.hh&…

unity2D技术学习与整理

目前有关unity2D的教程以及原理几乎都是国外的。我在这方面也是新手&#xff0c;看了一些例子有很多不懂的地方。 这个网站提供的教程很有参考价值 http://brackeys.com/ 还有这个 http://pixelnest.io/tutorials/2d-game-unity/table-of-contents/转载于:https://www.cnblogs.…

C# GDI+ 实现图片分隔

1. 概述 有时候我们需要在web页面上显示一张图&#xff0c;比如说一张地图&#xff0c;而这张地图会比较大。这时候如果我们把一张大图分隔成一组小图&#xff0c;那么客户端的显示速度会明显地感觉块。希望阅读本文对你有所帮助。 2. 实现思路 .NET Framework GDI 为我们提…