天天看點

C# 讀取儲存App.config配置檔案的完整源碼參考

最近出差在北京做一個小項目,項目裡需要讀取配置檔案的小功能,覺得挺有參考意義的就把代碼發上來給大家參考一下。我們選擇了直接用微軟的讀取配置檔案的方法。

這個是程式的運作設計效果,就是把這些參數可以進行靈活設定,靈活儲存設定狀态。

程式編譯後自動會産生相應的配置檔案,是跟項目的名稱一樣的配置檔案。

讀取配置檔案及儲存配置的具體代碼參考如下,希望能給你節省一些時間,直接複制粘貼這個代碼就可以用了:

//------------------------------------------------------------

// All Rights Reserved , Copyright (C) 2010 , CDPF , Ltd. 

using System;

using System.Configuration;

using System.Windows.Forms;

using Utilities;

namespace DirectSeeding

{

    /// <summary>

    ///    FrmConfig

    /// 讀取配置檔案

    /// 

    /// 修改紀錄

    ///        2011.01.14 版本:   1.0 JiRiGaLa 完善程式的注釋等、從新整理代碼。

    ///    

    /// 版本:1.0

    ///

    /// <author>

    ///        <name>JiRiGaLa</name>

    ///        <date>2011.01.14</date>

    /// </author> 

    /// </summary>

    public partial class FrmConfig : Form

    {

        public FrmConfig()

        {

            InitializeComponent();

        }

        /// <summary>

        /// 讀取配置檔案

        /// </summary>

        private void GetConfig()

            this.txtWriteFileName.Text = ConfigurationManager.AppSettings["WriteFileName"];

            this.txtWritePath.Text = ConfigurationManager.AppSettings["WritePath"].Replace("|", Environment.NewLine);

            this.txtPostMessageURL.Text = ConfigurationManager.AppSettings["PostMessageURL"];

            this.txtLeasedLineURL.Text = ConfigurationManager.AppSettings["LeasedLineURL"];

        private void FrmDirectSeeding_Load(object sender, EventArgs e)

            this.GetConfig();

        /// 儲存配置檔案

        private void SaveConfig()

            // 寫入參數設定

            Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

            configuration.AppSettings.Settings["WriteFileName"].Value = this.txtWriteFileName.Text;

            configuration.AppSettings.Settings["WritePath"].Value = this.txtWritePath.Text.Trim().Replace(Environment.NewLine, "|");

            configuration.AppSettings.Settings["PostMessageURL"].Value = this.txtPostMessageURL.Text;

            configuration.AppSettings.Settings["LeasedLineURL"].Value = this.txtLeasedLineURL.Text;

            configuration.Save();

            // 重新讀取參數

            ConfigurationManager.RefreshSection("appSettings");

            WriteFile.WriteFileName = ConfigurationManager.AppSettings["WriteFileName"];

            WriteFile.WritePath = ConfigurationManager.AppSettings["WritePath"].Split('|');

            PostMessage.PostMessageURL = ConfigurationManager.AppSettings["PostMessageURL"];

            // PostMessage.LeasedLineURL = ConfigurationManager.AppSettings["LeasedLineURL"];

        private void btnSavaConfig_Click(object sender, EventArgs e)

            // 儲存設定

            SaveConfig();

    }

}

本文轉自jirigala_bao 51CTO部落格,原文連結:http://blog.51cto.com/jirigala/809495