1. 程式人生 > >.Net 應用程式config的配置

.Net 應用程式config的配置

檔案的目錄(若要對config配置檔案進行操作,需要新增對的引用)

呼叫方式

 //獲取配置節資料
  var obj= System.Configuration.ConfigurationManager.GetSection("myConfigSection");

1.App.config 檔案

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <!--自定義配置節宣告   type="名稱空間.類名,程式集名稱"-->
    <section name="myConfigSection" type="MyLibNameSpace.MyConfSection,MyLib"/>


  </configSections>  
  
    <!--自定義配置節主體-->
  <myConfigSection attrNo="1000" attrName="apple" attrInfo="hello section!">
    <myChild  childNo="1001" childName="lili"></myChild>
  </myConfigSection>

    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
</configuration>

2.MyConfSection.cs

namespace MyLibNameSpace
{
    public class MyConfSection : ConfigurationSection  //必須繼承 ConfigurationSection
    {
        [ConfigurationProperty("attrNo")]   //宣告屬性名稱,必須寫,否則編譯不報錯但是執行報錯,這個程式碼應該是執行的時候發揮作用
        public virtual string attrNo
        {
            get
            {
                return (string)this["attrNo"];//此得益於父類的索引器
            }
            set
            {
                this["attrNo"] = value;
            }
        }

        [ConfigurationProperty("attrName")]
        public virtual string attrName
        {
            get
            {
                return (string)this["attrName"];//此得益於父類的索引器
            }
            set
            {
                this["attrName"] = value;
            }
        }

        [ConfigurationProperty("attrInfo")]
        public virtual string attrInfo
        {
            get
            {
                return (string)this["attrInfo"];//此得益於父類的索引器
            }
            set
            {
                this["attrInfo"] = value;
            }
        }

        [ConfigurationProperty("myChild")]
        public virtual MyConfChild MyChild
        {
            get
            {
                return (MyConfChild)this["myChild"];//此得益於父類的索引器
            }
            set
            {
                this["myChild"] = value;
            }
        }
    }
}

3.MyConfChild.cs

namespace MyLibNameSpace
{
    public class MyConfChild : ConfigurationElement
    {
        [ConfigurationProperty("childNo")]
        public virtual string childNo
        {
            get {
                return (string)this["childNo"];//此得益於父類的索引器
            }
            set {
                this["childNo"] = value;
            }
        }


        [ConfigurationProperty("childName")]
        public virtual string childName
        {
            get
            {
                return (string)this["childName"];//此得益於父類的索引器
            }
            set
            {
                this["childName"] = value;
            }
        }
        
    }
}

PS:有的配置節點為什麼沒有在<configSections></configSections> 裡面宣告就可以直接使用?

回答:

在C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config裡有一個machine.config檔案, 裡面包含常用的appSettings 等節點的宣告,所以不是不用宣告,是預設已經宣告好了。
 

相關推薦

.Net 應用程式config配置

檔案的目錄(若要對config配置檔案進行操作,需要新增對的引用) 呼叫方式  //獲取配置節資料   var obj= System.Configuration.ConfigurationManager.GetSection("myConfigSection

IIS 7.0 的 ASP.NET 應用程式生命週期概述

    文章:IIS 7.0 的 ASP.NET 應用程式生命週期概述 地址:https://msdn.microsoft.com/zh-cn/library/bb470252(v=vs.100).aspx 本主題介紹在 IIS 7.0 整合模式下執行以及與 IIS 7.0 或更高

在 ServiceModel 客戶端配置部分中,找不到引用協定“WebServiceSoap”的預設終結點元素。這可能是因為未找到應用程式配置檔案,或者是因為客戶端元素找不到與此協定匹配的終結點元素

在引用WebService後,程式執行到例項化WebService時報錯,錯誤如下: 由於WebService我是在類庫裡新增的,主程式引用了這個類庫,就出現了這個問題。 解決辦法: 根據異常資訊: “在 ServiceModel 客戶端配置部分中,找不到引用

使用IIS應用程式初始化來保持ASP.NET應用程式的活動

https://weblog.west-wind.com/posts/2013/Oct/02/Use-IIS-Application-Initialization-for-keeping-ASPNET-Apps-alive    2013年10月2日•來自毛伊島,HI• &

在 ServiceModel 客戶端配置部分中,找不到引用協定“PutMCCases.PutMCCasesSoap”的預設終結點元素。這可能是因為未找到應用程式配置檔案,或者是因為客戶端元素中找不到

有一個Cache類庫,一個SDK類庫,一個WebService Web應用程式。 在SDK類庫中添加了UI的WebService引用,在Cache裡面引用了SDK類庫,想在Cache裡Call UI WebService 要在 在WebService Web主要應用程式當中

FileSystemWatcher 導致Mono ASP.NET應用程式CPU使用率比較高

大家都知道ASP.NET 網站應用程式(WebSite)可以自動檢測到你的ASP.NET應用的檔案修改,其中要使用到的就是監視磁碟上的檔案/目錄的更改,以便應用程式可以採取它認為必要檔案建立/刪除/修改事件的反應中的任何步驟的FileSystemWatcher 類。 Mono的 FileSystemWatc

.NET應用程式除錯:原理、工具、方法

閱讀目錄: 1.背景介紹 2.基本原理(Windows除錯工具箱、.NET除錯擴充套件SOS.DLL、SOSEX.DLL) 2.1.Windows除錯工具箱 2.2..NET除錯擴充套件包,SOS.DLL、SOSEX.DLL 2.3.除錯系統的基本流程及架構(.NETDAC概念、mscordacwks.

.NET應用程式除錯—原理、工具、方法

閱讀目錄: 1.背景介紹 2.基本原理(Windows除錯工具箱、.NET除錯擴充套件SOS.DLL、SOSEX.DLL) 2.1.Windows除錯工具箱 2.2..NET除錯擴充套件包,SOS.DLL、SOSEX.DLL 2.3.除錯系統的基本流程及架構(.NETDAC概念、msc

MFC中如何將應用程式配置資訊儲存到登錄檔中(二)

在上一篇中介紹了幾個寫入登錄檔資料和讀取登錄檔資料的介面,並介紹了使用方法。 這一片教你如何使得你的應用程式在下次開啟時保持上一次關閉前的狀態。 在上一篇新增的程式碼的基礎上,要新增WM_CLOSE訊息的響應函式,因為我們只有在視窗關閉前要儲存視窗的位置資訊,所以儲存視窗位

Win7,Win8中"XXX is not accessible"的問題(應用程式預設配置檔案儲存位置)

Windows 7, 8使用者在訪問ProgramData目錄和Documents and Settings目錄時,會無法開啟並被提示“C:\xxxx is not accessible. Access is denied.”因為許可權不足而被拒絕訪問。這是因為

【Asp.net】—web.config配置詳解

前言    小編最近這一段時間在學習Asp.net視訊,在視訊中,當每一次通過.NET新建一個Web應用程式後,預設情況下會在根目錄自動建立一個預設的Web.config檔案。那麼這個Web.conf

使用Windbg除錯.Net應用程式

 1. 解決線上.NET應用程式的如下問題: 崩潰CPU高程式異常程式Hang死2. 安裝WinDbg: 3. 配置WinDbg: 執行WinDbg->選單->File->Symbol File Path->按照下面的方法設定_NT_SYMBOL

新思想、新技術、新架構——更好更快的開發現代ASP.NET應用程式

在部落格園學習很長時間了,今天終於自己也開通了部落格,準備分享一些感悟和經驗。首先感謝部落格園園主提供了這麼好的程式設計師學習交流平臺,也非常感謝張善友、dax.net、netfocus、司徒正美 等技術大牛的無私分享,從他們身上學到了很多。還有我最近一直關注的田園裡的蟋蟀,分享了很多新的技術和思想方法,在此

新思想、新技術、新架構——更好更快的開發現代ASP.NET應用程式(續1)

今天在@張善友和@田園裡的蟋蟀的部落格看到微軟“.Net社群虛擬大會”dotnetConf2015的資訊,感謝他們的真誠付出!真希望自已也能為中國的.NET社群貢獻綿薄之力。   上週星期天開通了部落格併發布了第一篇文章《新思想、新技術、新架構——更好更快的開發現代ASP.NET應用程式》,彙集了一些比較流

【譯】ASP.NET應用程式和頁面生命週期

概述 大體上的兩步處理流程 ASP.NET環境的建立 通過MHPM觸發的事件處理請求 在什麼事件中我們可以做什麼? 一個簡單的示例 詳解ASP.NET頁面事件

經驗之談 ---- ASP.NET應用程式MVC5模式下的簡單例項專案

 剛開始做ASP.NET應用程式的時候,自己一臉蒙B,具體的程式流程都不懂,所以自己打算寫一個最簡單的專案來看看ASP.NET MVC專案的具體流程。 若有寫得不好的,還望指出. 目錄結構如下圖所示: 在企業中開發的時候需要自建Area(領域),所以我把最初專案

設計.NET應用程式資料訪問層的五大原則

摘要:大多數使用.NET框架元件工作的開發人員的一個核心工作是實現資料訪問功能,他們建立的資料訪問層(data access layer)是應用程式的精華部分。本文概述了使用Visual Studio .NET和.NET框架元件建立資料訪問層需要考慮的五個想法。這些技巧包括通過使用基類(base class)

在ASP.NET應用程式中使用身份模擬(Impersonation)

摘要 預設情況下,ASP.NET應用程式以本機的ASPNET帳號執行,該帳號屬於普通使用者組,許可權受到一定的限制,以保障ASP.NET應用程式執行的安全。但是有時需要某個ASP.NET應用程式或者程式中的某段程式碼執行需要特定許可權的操作,比如某個檔案的存取,這時就需要給

Asp.Net 之 Web.config 配置檔案詳解

[2]在這個資料夾下還有一個web.config檔案,這個檔案包含了asp.net網站的常用配置。下面是這個web.config檔案的內容: <?xml version="1.0" encoding="utf-8"?><!-- the root web configuration fi

使用Memcached提高.NET應用程式的效能

在應用程式執行的過程中總會有一些經常需要訪問並且變化不頻繁的資料,如果每次獲取這些資料都需要從資料庫或者外部檔案系統中去讀取,效能肯定會受到影響,所以通常的做法就是將這部分資料快取起來,只要資料沒有發生變化每次獲取這些資料的時候直接從記憶體中區獲取效能肯定會大大地提高。在.N