项目文件中含有两个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();
}
}
}
项目文件中含有两个config文件,app.config与app1.config,如何获取app1.config中的配置的更多相关文章
- 路径或文件名中含有中文的jar文件双击启动不了 -> Java7的Bug?
至从安装了java7后,才发现部分可执行的jar文件双击都启动不了了. 比如所有的jar文件放在桌面上双击启动不了. 比如所有的文件名中含有中文的jar文件双击启动不了. 比如一个 abc.jar 放 ...
- python 查找目录下 文件名中含有某字符串的文件
有坑的地方: 如果代码写成这样: [( os.path.abspath(x)) for x in os.listdir(startPath) ] 此代码只能用于当前目录下,listdir列出的都只是文 ...
- 两个表,一个表中的两列关联另一个表的id,如何将这个表中的两列显示为另一个表id对应的内容
表A name user owner machine1 1 2 machine2 3 4 表B userid username 1 aaa 2 bbb 3 ccc 4 ddd 以上两个表,表A 设备的 ...
- C#项目实例中读取并修改App.config文件
C#项目是指一系列独特的.复杂的并相互关联的活动,这些活动有着一个明确的目标或目的,必须在特定的时间.预算.资源限定内,依据规范完成.项目参数包括项目范围.质量.成本.时间.资源. 1. 向C#项目实 ...
- 配置文件——App.config文件读取和修改
作为普通的xml文件读取的话,首先就要知道怎么寻找文件的路径.我们知道一般配置文件就在跟可执行exe文件在同一目录下,且仅仅在名称后面添加了一个.config 因此,可以用Application.Ex ...
- 在.net中读写config文件的各种方法
阅读目录 开始 config文件 - 自定义配置节点 config文件 - Property config文件 - Element config文件 - CDATA config文件 - Collec ...
- 在.net中读写config文件的各种方法(自定义config节点)
http://www.cnblogs.com/fish-li/archive/2011/12/18/2292037.html 阅读目录 开始 config文件 - 自定义配置节点 config文件 - ...
- 在.net中读写config文件的各种方法【转】
今天谈谈在.net中读写config文件的各种方法. 在这篇博客中,我将介绍各种配置文件的读写操作. 由于内容较为直观,因此没有过多的空道理,只有实实在在的演示代码, 目的只为了再现实战开发中的各种场 ...
- .net中Web.config文件的基本原理及相关设置
11.7 使用web.config配置文件 Web配置文件web.config是Web 应用程序的数据设定文件,它是一份 XML 文件,内含 Web 应用程序相关设定的 XML 标记,可以用来简化 ...
随机推荐
- csuoj 1328: 近似回文词
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1328 1328: 近似回文词 Time Limit: 1 Sec Memory Limit: 1 ...
- 算法训练 Torry的困惑(基本型)
http://lx.lanqiao.org/problem.page?gpid=T129 算法训练 Torry的困惑(基本型) 时间限制:1.0s 内存限制:512.0MB 问题描述 ...
- csuoj 1112: 机器人的指令
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1112 1112: 机器人的指令 Time Limit: 1 Sec Memory Limit: ...
- 数组有没有length()这个方法? String有没有length()这个方法?
答:数组和string都没有Length()方法,只有Length属性.
- 对EV-Globe5.0资源体系的简单理解
如果直接从OpenGL或DirectX底层做起的话,根本就不存在资源管理这一个思想.所谓的资源,就是说内容要从文件读取为我所用的那些文件,所以我们看到的更多的是模型.骨骼.材质.着色器. ...
- Office 2007在安装过程中出错-解决办法
1, 可能是因为c:\program files\common files\microsoft Shared\web server Extensions\40\bin目录下缺少Fp4autl.dll, ...
- IT职业选择与定位
(一) 位置有很多,最适合你的是哪个? 有的人在电子技术的层面工作,开发出性能强劲的芯片和硬件产品:有的人在别人开发的芯片和硬件上开发各种操作系统和驱动程序:有的人在各种操作系统或设备 ...
- 搬瓦工的ShadowSock设置方法:
- TI CC254x BLE教程 4
TI的CC254x芯片 1. SoC 2. RF收发器+8051MCU 128/256KB Code空间. 3. Master或者Slave 4. 可编程flash 5. 8KB SRAM 6. 全软 ...
- Angular.js为什么如此火呢?
在本文中让我们来逐步发掘angular为什么如此火: Angular.js 是一个MV*(Model-View-Whatever,不管是MVC或者MVVM,统归MDV(model Drive View ...