通过configSource提高web.config配置灵活性
2023-09-11 14:22:42 时间
很多时候我们会有这样的情况,开发环境和测试环境中的配置文件是不一样的,最明显的就是数据库连接串,这样,每次我们发布一个测试版本,都要手动去修改一下配置文件,是不是很麻烦的说。其实利用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处在同一目录。
相关文章
- Linux中Nginx服务器的部署和配置
- Windows Server实例防火墙策略的配置方法
- 已禁用对分布式事务管理器(MSDTC)的网络访问。请使用组件服务管理工具启用 DTC 以便在 MSDTC 安全配置中进行网络访问。
- vs2005下opengl(glut)的配置记录
- 关于SpringMVC <mvc:default-servlet-handler/>标签的作用及web.xml 配置<url-pattern>/</url-pattern> 静态资源全部404的原因
- 网络信息查看及配置
- 06dwr - web.xml配置(多个 dwr.xml 配置和 J2EE 角色定义)
- Kubernetes config 配置访问多集群
- mysql 配置
- OpenCV3.1.0+VS2015开发环境配置
- 微信小程序合法域名配置-不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书
- JS压缩工具配置
- log4j配置说明
- nginx - 负载均衡配置-负载均衡策略
- Web | 快速集成华为AGC远程配置
- eclipse web开发Server配置
- vimrc 避免中文乱码配置
- web项目Log4j日志输出路径配置问题
- H3C配置热键--hotkey---系统视图
- ABP理论学习之启动配置
- 《Cacti实战》——2.3 Cacti的安装与配置
- 普通Java Web项目为什么lib包要放在WEB-INF下
- 浅析Vue3相关基础知识:Vue3应用配置、重写的v-model、emits 选项、getCurrentInstance()获取实例、采用mitt实现全局通讯、vue-router的新特性
- Java Web实战开发 | JDK的安装与配置
- Web.xml配置具体解释之context-param
- jenkins:邮件配置良心之作
- Vue学习第29天——路由的props配置项的详解与案例(对比组件props配置项)
- Windows上最全wsl2使用配置,包含基础配置、高级配置、开发工具、机器学习环境配置、机器人与自动驾驶环境配置(如Ros及百度的无人驾驶系统apollo)、服务器及Web开发环境配置等等