项目文件中含有两个config文件,app.config与app1.config,如何获取app1.config中的配置

想要通过配置文件配置C#前台画面,好奇做了以下测试:在项目中新建了app.config与app1.config两个配置文件,请教一下各位高手如果想从app1.config中读取配置信息应该如何读取?采用ConfigurationManager.AppSettings 属性似乎只能读取到app.config的配置信息。 

ExeConfigurationFileMap map = new ExeConfigurationFileMap();
            map.ExeConfigFilename = @"D:\App1.config";// 这里对应你app1文件的路径
            Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
            string connstr = config.ConnectionStrings.ConnectionStrings["connStr"].ConnectionString;
            MessageBox.Show(connstr);
            string key = config.AppSettings.Settings["key"].Value;
            MessageBox.Show(key);
using System;
using System.Configuration;

namespace JADAY.Frame.Common
{
    public class ConfigHelper
    {
        /// <summary>
        ///  获取webconfig指定键的值
        /// </summary>
        /// <param name="key">指定键</param>
        /// <param name="defaultValue">当获取的值为空时返回该值</param>
        /// <returns></returns>
        public static string GetAppSettings(string key, string defaultValue = "")
        {
            var value = ConfigurationManager.AppSettings[key];//获取指定的配置信息
            return value == null ? defaultValue : value.ToStringValue();
        }
        /// <summary>
        ///  获取webconfig指定键的值
        /// </summary>
        /// <param name="name">指定名称</param>
        /// <param name="defaultValue">当获取的值为空时返回该值</param>
        /// <returns></returns>
        public static string GetConnectionString(string name, string defaultValue = "")
        {
            //获取指定的配置信息
            var value = ConfigurationManager.ConnectionStrings[name].ConnectionString;
            return value == null ? defaultValue : value.ToStringValue();
        }
        /// <summary>
        ///  获取App_Data中配置文件指定键的值
        /// </summary>
        /// <param name="key">键</param>
        /// <param name="defaultValue">默认值</param>
        /// <returns></returns>
        public static string GetAppDataAppSettings(string key, string defaultValue = "")
        {
            var map = new ExeConfigurationFileMap
                {
                    ExeConfigFilename = AppDomain.CurrentDomain.BaseDirectory + "\\App_Data\\App.config"
                };
            var config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
            var value = config.AppSettings.Settings[key].Value;
            return value == null ? defaultValue : value.ToStringValue();
        }
        /// <summary>
        /// 获取App_Data中数据连接字符串
        /// </summary>
        /// <param name="name">数据连接名字</param>
        /// <param name="defaultValue">默认值</param>
        /// <returns></returns>
        public static string GetAppDataConnectionString(string name, string defaultValue = "")
        {
            var map = new ExeConfigurationFileMap
            {
                ExeConfigFilename = AppDomain.CurrentDomain.BaseDirectory + "\\App_Data\\App.config"
            };
            var config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
            var value = config.ConnectionStrings.ConnectionStrings[name].ConnectionString;
            return value == null ? defaultValue : value.ToStringValue();
        }
    }
}
 
时间: 2024-12-28 09:19:43

项目文件中含有两个config文件,app.config与app1.config,如何获取app1.config中的配置的相关文章

路径或文件名中含有中文的jar文件双击启动不了 -&gt; Java7的Bug?

至从安装了java7后,才发现部分可执行的jar文件双击都启动不了了. 比如所有的jar文件放在桌面上双击启动不了. 比如所有的文件名中含有中文的jar文件双击启动不了. 比如一个 abc.jar 放在c:\下可以双击启动,但移动到桌面上,双击启动不了了. 比如一个放在c:\下的abc.jar可以双击启动,如果移动到c:\我的jar文件夹\abc.jar 双击启动不了了. 以前在java6下好像没出现这样的事情... 2011-10-13

从0到1导出Linux下的MySQL中含有中文数据的文件(not complete)

注明版本号: 这是刚安装完MySQL的时候的样子: 首先解决secure_file_priv的问题: 由于文件是只读的,所以只能在root模式下来改.使用vi命令编辑mysqld.cnf: 在文件结尾加上这一行,保存并退出. 现在再看看: 未完待续. 参考链接: 1.mysql命令之二:查看mysql版本的四种方法 - duanxz - 博客园 https://www.cnblogs.com/duanxz/p/5244634.html 就是看个版本号,可以进入MySQL后输入status;或se

C# WinForm中 App.config 文件配置

应用程序配置文件,对于asp.net是 web.config对于WINFORM程序是 App.Config(ExeName.exe.config). 配置文件,对于程序本身来说,就是基础和依据,其本质是一个xml文件,对于配置文件的操作,从.NET 2.0 开始,就非常方便了,提供了 System [.Web] .Configuration 这个管理功能的NameSpace,要使用它,需要添加对 System.configuration.dll的引用. 对于WINFORM程序,使用 System

配置文件——App.config文件读取和修改

作普通的xml文件读取的话,首先就要知道怎么寻找文件的路径.我们知道一般配置文件就在跟可执行exe文件在同一目录下,且仅仅在名称后面添加了一个.config 因此,可以用Application.ExecuteablePath+".cofig"的方式来获得,不过更加推荐使用AppDomain.CurrentDomain.SetupInformation.ConfigurationFile这句话来直接获取当前程序的配置文件的位置,具体原因,后面再叙述. 现在回过头还是看上面的这个函数,看它

在.net中读写config文件的各种方法(自定义config节点)

http://www.cnblogs.com/fish-li/archive/2011/12/18/2292037.html 阅读目录 开始 config文件 - 自定义配置节点 config文件 - Property config文件 - Element config文件 - CDATA config文件 - Collection config文件 - 读与写 读写 .net framework中已经定义的节点 xml配置文件 xml配置文件 - CDATA xml文件读写注意事项 配置参数的

.Net中利用config文件来保存信息

前言: 在做一些项目时,往往会有站点的一些配置信息需要保存,比如站点名称,电话,联系人,邮箱这些等等,又因为此信息不经常更新,而且是单一的,所以放入数据库中会感觉占用了不必要的一些资源.所以就会想到这些信息放入文件中来保存.下面是我的一个例子,分享给大家. 1.我的项目是用的三层来写的,我就按照三层的方式给大家呈现一下,为了方便查询,我的文件名命名会加上当前层的首字母,M  D  B来区分. 首先创建一个Model层的实体 M_T_SysSet,下面的我的实体类中的字段信息. namespace

FileFilter 遍历某个目录下文件名含有某个字符的文件

由于IIS版本的升级,造成了文件名中含有“+”的特殊字符的文件(多数是图片)在网页中不能被访问,于是必须查找当前目录下含有多少这样的文件,从而制定最佳的解决方案. 废话少说,直接上核心代码: public void GetAllFilesInDirectory(string strDirectory, string searchCh) { DirectoryInfo directory = new DirectoryInfo(strDirectory); DirectoryInfo[] dire

JavaScript中的两种事件流

JavaScript中的两种事件流 事件流描述的是从页面中接收事件的顺序.提出事件流概念的正是IE和Netscape,但是前者提出的是我们常用的事件冒泡流,而后者提出的是事件捕获流. 第一部分:事件冒泡 即事件开始由最具体的元素接收,然后逐级向上传播到较为不具体的节点(文档). 下面举一个简单的例子: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"&

配置文件——WebApp.config文件读取和修改

[csharp] view plain copy using System; using System.Collections.Generic; using System.Configuration; using System.Linq; using System.Net.Mime; using System.Text; using System.Threading.Tasks; using System.Web; using System.Xml; namespace Infrastructu