config文件的两种读取方式

1.项目默认的读取webconfig中的,代码如下

 1   public void GetAccounts()
 2
 3         {
 4
 5             Configuration config=System.Configuration.ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
 6
 7             //判断App.config配置文件中是否有Key(非null)
 8
 9             if (ConfigurationManager.AppSettings.HasKeys())
10
11              {
12
13                 //循环遍历出配置文件中的所有的键Key
14
15                 foreach (string s in ConfigurationManager.AppSettings)
16
17                 {
18
19                     string[] nameAndPassword = s.Split(‘,‘);
20
21                     Entity.Account account = new Entity.Account()
22
23                     {
24
25                         Name= nameAndPassword[0],
26
27                         Username = nameAndPassword[1],
28
29                         Password = nameAndPassword[2],
30
31                         EmailAddress=nameAndPassword[3],
32
33                     };
34
35                     accounts.Add(account);
36
37                 }
38
39              }
40
41            }
42
43         }  


2.指定位置的读取方式(自己添加的config文件)

 1  public void GetAccounts(string path)
 2         {
 3             //FileInfo accountFile = new FileInfo(path);
 4             ExeConfigurationFileMap ecf = new ExeConfigurationFileMap();
 5             ecf.ExeConfigFilename = path;
 6             Configuration config = System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(ecf, ConfigurationUserLevel.None);
 7
 8             foreach (string s in config.AppSettings.Settings.AllKeys)
 9             {
10                 string[] nameAndPassword = s.Split(‘,‘);
11                 Entity.Account account = new Entity.Account()
12                 {
13                     Name = nameAndPassword[0],
14                     Username = nameAndPassword[1],
15                     Password = nameAndPassword[2],
16                     EmailAddress = nameAndPassword[3],
17                     IsAdmin = nameAndPassword[4]
18                 };
19
20                 if (bool.Parse(account.IsAdmin))
21                 {
22                     AccountAdmin = account;
23                 }
24
25                 accounts.Add(account);
26             }
27         }

其中path可以使用相对路径:

 string path = @"../Debug/Accounts.Config";

也可以使用绝对路径,根据项目需要添加,另外多说一句,如果想使用计划任务执行程序,必须使用绝对路径

时间: 2024-08-15 00:47:56

config文件的两种读取方式的相关文章

解析XML文件的两种方式 SAX和DOM

1.数据解析 解析的基本概念 所谓“解析”:从事先规定好的格式中提取数据 解析的前提:提前约定好格式,数据提供方按照格式提供数据.数据获取方则按照格式获取数据 iOS开发常见的解析:XML解析.JSON解析 2.XML数据结构 XML:Extensible Markup language(可扩展标记语言),主流数据格式之一,可以用来存储和传输数据. XML数据格式的功能 数据交换 内容管理 用作配置文件 XML数据结构的语法 声明 节点使用一对标签表示:起始和结束标签. 根节点是起始节点,只有一

UI进阶 解析XML文件的两种方式 SAX和DOM

1.数据解析 解析的基本概念 所谓“解析”:从事先规定好的格式中提取数据 解析的前提:提前约定好格式,数据提供方按照格式提供数据.数据获取方则按照格式获取数据 iOS开发常见的解析:XML解析.JSON解析 2.XML数据结构 XML:Extensible Markup language(可扩展标记语言),主流数据格式之一,可以用来存储和传输数据. XML数据格式的功能 数据交换 内容管理 用作配置文件 XML数据结构的语法 声明 节点使用一对标签表示:起始和结束标签. 根节点是起始节点,只有一

Java学习-014-文本文件写入实例源代码(两种写入方式)

此文源码主要为应用 Java 读取文本文件内容实例的源代码.若有不足之处,敬请大神指正,不胜感激! 第一种:文本文件写入,若文件存在则删除原文件,并重新创建文件.源代码如下所示: 1 /** 2 * @function 文本文件操作:写入数据 3 * 4 * @author Aaron.ffp 5 * @version V1.0.0: autoUISelenium main.java.aaron.java.tools FileUtils.java txtWrite, 2015-2-2 21:03

Simics虚拟机Solaris 8操作系统获取host 系统win7上的文件的两种方式

1 介绍 本文基于的环境设置如下: ? 宿主操作系统:Windows 7 Ultimate ? 寄生操作系统:Solaris 8 SPARC (SunOS 5.8) ? 虚拟环境:Simics 3.0.4 本文假定已在Simics 上安装好Solaris 8 SPARC 操作系统. 动机:一个Unix下可以运行的二进制文件GraphGen,在单独的一台装有Ubuntu的电脑上不能运行,因为该电脑的硬件架构是基于X86的,而GraphGen是SPARC架构下才能运行的程序:在我的笔记本Win7系统

两种读取微信xml消息的方式比较

直接贴代码和结果. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; using System.Xml.Serialization; using System.IO; using System.Diagnostics; namespace ConsoleApplication_xm

Windows校验文件哈希hash的两种常用方式

大家经常都到哪儿去下载软件和应用程序呢?有没想过下载回来的软件.应用程序或资源是否安全呢?在 Windows 10 和 Office 2016 发布当初,很多没权限的朋友都使用第三方网站去下载安装映像.而大家如何保证自己下载回来的映像或软件就是官方版本,而没有被别人篡改过呢? 很多朋友会想到将下载回来的资源校验 MD5 或 SHA1 与官方版哈希值进行对比,如果无误则表示未被篡改.大家平常在 Windows 中都使用何种工具算校验值呢?本文向大家推荐 Windows 校验文件哈希的两种常用方式.

Eclipse项目中引用第三方jar包时将项目打包成jar文件的两种方式

转载自:http://www.cnblogs.com/lanxuezaipiao/p/3291641.html 方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFEST.MF”, 由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目下建立文件MANIFEST.MF,内容如下: Manifest-Version: 1.0 Class-Path: lib/commons-codec.jar lib/commons-htt

Redis两种持久化方式(RDB&AOF)

爬虫和转载请注明原文地址;博客园蜗牛:http://www.cnblogs.com/tdws/p/5754706.html Redis所需内存 超过可用内存怎么办 Redis修改数据多线程并发—Redis并发锁 windows下redis基础操作与主从复制 从而 数据备份和读写分离 Redis两种持久化方式(RDB&AOF) Redis的持久化过程中并不需要我们开发人员过多的参与,我们要做的是什么呢?除了深入了解RDB和AOF的作用原理,剩下的就是根据实际情况来制定合适的策略了,再复杂一点,也就

Android 进阶6:两种序列化方式 Serializable 和 Parcelable

什么是序列化 我们总是说着或者听说着"序列化",它的定义是什么呢? 序列化 (Serialization)将对象的状态信息转换为可以存储或传输的形式的过程.在序列化期间,对象将其当前状态写入到临时或持久性存储区.以后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象. 二进制序列化保持类型保真度,这对于在应用程序的不同调用之间保留对象的状态很有用.例如,通过将对象序列化到剪贴板,可在不同的应用程序之间共享对象.您可以将对象序列化到流.磁盘.内存和网络等等.远程处理使用序列化&