惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
博客园 - 三生石上(FineUI控件)
WordPress大学
WordPress大学
博客园_首页
宝玉的分享
宝玉的分享
S
SegmentFault 最新的问题
Jina AI
Jina AI
Hugging Face - Blog
Hugging Face - Blog
V
Visual Studio Blog
美团技术团队
IT之家
IT之家
罗磊的独立博客
Blog — PlanetScale
Blog — PlanetScale
Google DeepMind News
Google DeepMind News
月光博客
月光博客
Microsoft Azure Blog
Microsoft Azure Blog
H
Help Net Security
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
博客园 - 叶小钗
M
MIT News - Artificial intelligence
B
Blog RSS Feed
有赞技术团队
有赞技术团队
Y
Y Combinator Blog

博客园 - 经霄

Microsoft ProClarity 6.3 releases to manufacturing Windows Services中使用MSBuild实现Build Automation Management VSS Object Model Google Service 使用反射动态创建类的实例 - 经霄 - 博客园 AS2005中的维度安全性简介【转】 学位英语通过,特此庆祝一下 VS2005常用插件 AMO编程 - 经霄 - 博客园 Analysis Management Object对象模型 华为前员工:揭密华为“薪酬真相”【转】 微软笔试试题——11月13日,2005年 Structure of the Basic MDX Query(转) 使用ADOMD.NET建立与Analysis Services的连接 IT公司薪水调查 ADOMD.net概述 SQL与MDX语法的比较 AdventureWorks数据库的安装 多维联机数据分析模型和系统设计方法[转]
VS2005中读写配置文件(一)
经霄 · 2005-11-28 · via 博客园 - 经霄

VS2003中对于应用程序配置文件(app.config或者web.config)只提供了读取的功能。而在VS2005中,对于配置文件的功能有了很大的加强。
在VS2005中,对于应用程序配置文件的读写一般使用Configuration,ConfigurationManager两个类。
ConfigurationManager类为客户应用程序提供了一个访问的功能。
使用ConfigurationManager对象执行打开配置文件的操作后,将会返回一个Configuration的对象。
通过程序实现读写配置文件的代码如下所示:
1  创建配置文件中的配置节所对应的类。该类必须继承自ConfigurationSection
  public sealed class ConfigurationSections : ConfigurationSection
    {
        [ConfigurationProperty("filename", DefaultValue = "default.txt")]
        public string FileName
        {
            get
            {
                return (string)this["filename"];
            }
            set
            {
                this["filename"] = value;
            }
        }
    }
    public sealed class BusinessSpaceConfiguration : ConfigurationSection
    {
        [ConfigurationProperty("filename")]
        public string FileName
        {
            get
            {
                return (string)this["filename"];
            }
            set
            {
                this["filename"] = value;
            }
        }
    }

2  创建配置文件代码
   private static void WriteAppConfiguration()
        {
            try
            {
                ConfigurationSections configData = new ConfigurationSections();
                configData.FileName = "abc.txt";
                System.Configuration.Configuration  config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                config.Sections.Remove("ConfigurationSections");
                config.Sections.Add("ConfigurationSections", configData);
                config.Save();

                BusinessSpaceConfiguration bsconfigData = new BusinessSpaceConfiguration();
                bsconfigData.FileName = "def.txt";
                System.Configuration.Configuration config1 = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
                config1.Sections.Remove("BusinessSpaceConfiguration");
                config1.Sections.Add("BusinessSpaceConfiguration", bsconfigData);
                config1.Save();                      
            }
            catch (Exception err)
            {
                Console.Write(err.Message);
            }
        }

3  生成的配置文件格式如下所示:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <configSections>
        <section name="BusinessSpaceConfiguration" type="ConsoleApplication1.BusinessSpaceConfiguration, ConsoleApplication1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
        <section name="ConfigurationSections" type="ConsoleApplication1.ConfigurationSections, ConsoleApplication1, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    </configSections>
    <BusinessSpaceConfiguration filename="def.txt" />
    <ConfigurationSections filename="abc.txt" />
</configuration>

3  读取应用程序配置文件
   private static void ReadAppConfiguration()
        {
            ConfigurationSections obj1 = ConfigurationManager.GetSection("ConfigurationSections") as ConfigurationSections;
            BusinessSpaceConfiguration obj2 = ConfigurationManager.GetSection("BusinessSpaceConfiguration") as BusinessSpaceConfiguration;
            Console.WriteLine(obj1.FileName);
            Console.WriteLine(obj2.FileName);

        }