想要通过配置文件配置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();
}
}
}
 

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

  1. 路径或文件名中含有中文的jar文件双击启动不了 -> Java7的Bug?

    至从安装了java7后,才发现部分可执行的jar文件双击都启动不了了. 比如所有的jar文件放在桌面上双击启动不了. 比如所有的文件名中含有中文的jar文件双击启动不了. 比如一个 abc.jar 放 ...

  2. python 查找目录下 文件名中含有某字符串的文件

    有坑的地方: 如果代码写成这样: [( os.path.abspath(x)) for x in os.listdir(startPath) ] 此代码只能用于当前目录下,listdir列出的都只是文 ...

  3. 两个表,一个表中的两列关联另一个表的id,如何将这个表中的两列显示为另一个表id对应的内容

    表A name user owner machine1 1 2 machine2 3 4 表B userid username 1 aaa 2 bbb 3 ccc 4 ddd 以上两个表,表A 设备的 ...

  4. C#项目实例中读取并修改App.config文件

    C#项目是指一系列独特的.复杂的并相互关联的活动,这些活动有着一个明确的目标或目的,必须在特定的时间.预算.资源限定内,依据规范完成.项目参数包括项目范围.质量.成本.时间.资源. 1. 向C#项目实 ...

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

    作为普通的xml文件读取的话,首先就要知道怎么寻找文件的路径.我们知道一般配置文件就在跟可执行exe文件在同一目录下,且仅仅在名称后面添加了一个.config 因此,可以用Application.Ex ...

  6. 在.net中读写config文件的各种方法

    阅读目录 开始 config文件 - 自定义配置节点 config文件 - Property config文件 - Element config文件 - CDATA config文件 - Collec ...

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

    http://www.cnblogs.com/fish-li/archive/2011/12/18/2292037.html 阅读目录 开始 config文件 - 自定义配置节点 config文件 - ...

  8. 在.net中读写config文件的各种方法【转】

    今天谈谈在.net中读写config文件的各种方法. 在这篇博客中,我将介绍各种配置文件的读写操作. 由于内容较为直观,因此没有过多的空道理,只有实实在在的演示代码, 目的只为了再现实战开发中的各种场 ...

  9. .net中Web.config文件的基本原理及相关设置

    11.7  使用web.config配置文件 Web配置文件web.config是Web 应用程序的数据设定文件,它是一份 XML 文件,内含 Web 应用程序相关设定的 XML 标记,可以用来简化  ...

随机推荐

  1. csuoj 1328: 近似回文词

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1328 1328: 近似回文词 Time Limit: 1 Sec  Memory Limit: 1 ...

  2. 算法训练 Torry的困惑(基本型)

    http://lx.lanqiao.org/problem.page?gpid=T129 算法训练 Torry的困惑(基本型)   时间限制:1.0s   内存限制:512.0MB      问题描述 ...

  3. csuoj 1112: 机器人的指令

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1112 1112: 机器人的指令 Time Limit: 1 Sec  Memory Limit:  ...

  4. 数组有没有length()这个方法? String有没有length()这个方法?

    答:数组和string都没有Length()方法,只有Length属性.

  5. 对EV-Globe5.0资源体系的简单理解

           如果直接从OpenGL或DirectX底层做起的话,根本就不存在资源管理这一个思想.所谓的资源,就是说内容要从文件读取为我所用的那些文件,所以我们看到的更多的是模型.骨骼.材质.着色器. ...

  6. Office 2007在安装过程中出错-解决办法

    1, 可能是因为c:\program files\common files\microsoft Shared\web server Extensions\40\bin目录下缺少Fp4autl.dll, ...

  7. IT职业选择与定位

           (一)  位置有很多,最适合你的是哪个? 有的人在电子技术的层面工作,开发出性能强劲的芯片和硬件产品:有的人在别人开发的芯片和硬件上开发各种操作系统和驱动程序:有的人在各种操作系统或设备 ...

  8. 搬瓦工的ShadowSock设置方法:

  9. TI CC254x BLE教程 4

    TI的CC254x芯片 1. SoC 2. RF收发器+8051MCU 128/256KB Code空间. 3. Master或者Slave 4. 可编程flash 5. 8KB SRAM 6. 全软 ...

  10. Angular.js为什么如此火呢?

    在本文中让我们来逐步发掘angular为什么如此火: Angular.js 是一个MV*(Model-View-Whatever,不管是MVC或者MVVM,统归MDV(model Drive View ...