对获取config文件的appSettings节点简单封装
2024-08-27 07:42:27
转:http://www.cnblogs.com/marvin/archive/2011/07/29/EfficiencyAppSetting.html
C#的开发中,无论你是winform开发还是webform开发,都需要通过config文件来配置一些信息,因此我们也经常需要获取其中的 appSettings节点的值。当然,.net已经对访问这个节点做了封装,我们可以很方便的访问该节点。但是,我觉得还是不够满意,因为我需要在获取 不到节点的时候能够返回默认的值,获取的时候能够自动转为我需要的类型,我需要能够随时指定config文件,而不仅仅是默认的web.config文件 或者是*.exe.config文件。尤其最后的那个功能,嘿嘿,别以为这个没有用,有时候,我们是需要共用一个配置文件的。比如你在开发Windows 服务的时候,你不会希望你用界面的那个程序和Windows服务的程序有两个一样的配置文件吧
直接贴代码:
/// <summary>
/// 获取AppSetting里面的内容
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="defaultValue">The default value.</param>
/// <param name="key">The key.</param>
/// <returns></returns>
public static T GetAppSettingValue<T>(T defaultValue, string key)
{
string value = ConfigurationManager.AppSettings[key];
if (!string.IsNullOrEmpty(value))
{
try
{
defaultValue = (T)Convert.ChangeType(value, typeof(T));
}
catch
{
}
}
return defaultValue;
} /// <summary>
/// 获取指定的Config文件的AppSetting里面的指定键值对应的value值
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="defaultValue">The default value.</param>
/// <param name="key">The key.</param>
/// <param name="file">The file.</param>
/// <returns></returns>
public static T GetAppSettingValue<T>(T defaultValue, string key, string file)
{
var map = new ExeConfigurationFileMap
{
ExeConfigFilename = file
};
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(map, ConfigurationUserLevel.None);
string value = config.AppSettings.Settings[key].Value; if (!string.IsNullOrEmpty(value))
{
try
{
defaultValue = (T)Convert.ChangeType(value, typeof(T));
}
catch
{
}
}
return defaultValue;
}
最新文章
- LA 5713 秦始皇修路 MST
- Calico在Kubernetes中的搭建
- Win7_SendTo文件夹
- iOS 圆角那些事(转)
- SQL执行SQL语句提示 ";内存不足";(insufficient memory....)的解决方法
- 学习pthreads,使用互斥量进行同步
- Eureka的功能特性及相关配置
- [经验交流] k8s mount 文件到容器目录
- 计算机网络实验 UDP套接字编程
- layui 弹窗的iframe 父子界面相互传值
- 图论杂项细节梳理&;模板(虚树,圆方树,仙人掌,欧拉路径,还有。。。)
- MySQL查询命令_SELECT 子查询
- thymeleaf给bootstrap自定义变量赋值
- css3硬件加速
- mybatis主键自增长
- Traceroute(路由追踪)的原理及实现
- c语言学习——安装
- QMetaEnum利用Qt元数据实现枚举(enum)类型值及字符串转换
- log4j log for java
- Can not find -lXXXX
热门文章
- Android 使用Facebook的 Stetho工具
- java学习——abstract 和 final
- 上拉、下拉UITableView,交互式 模态弹出(自定义弹出动画)
- java调试一
- virtual box 改变已经创建的虚拟系统分配的硬盘
- codeforces 336D Vasily the Bear and Beautiful Strings(组合数学)
- CodeForces 25E	 Test KMP
- unzip解压中文文件名乱码
- EXW_FOB_CIF_CFR 外贸报价方式&;条款之间的区别与联系
- Contains Duplicate 解答