System.Configuration命名空間下的關鍵類

1.ConfigurationManager和 WebConfigurationManager類:
?
??? 使用 ConfigurationManager 類,可以訪問計算機和應用程序的配置信息。ConfigurationManager 是處理客戶端應用程序配置文件的首選方法;不推薦使用任何其他方法。對于 Web 應用程序,建議使用 WebConfigurationManager 類。
客戶端應用程序在客戶端計算機上運行,而 Web 應用程序在客戶端連接到的服務器計算機上運行。
可以使用內置的 System.Configuration 類型或從它們派生以處理配置信息。通過使用這些類型,可以直接處理配置信息,且能對配置文件進行擴展以包括自定義信息。

ConfigurationManager 類包括可用來執行以下任務的成員。

?????? 從配置文件中讀取一個節。若要訪問配置信息,請使用 GetSection。對于像 appSettings 和 connectionStrings 這樣的一些節,請使用 AppSettings 和 ConnectionStrings 類。上面提到的方法執行只讀操作,使用配置的單個緩存實例,并且可識別多線程。

?????? 將配置文件作為一個整體進行讀取和寫入。應用程序能夠讀寫任何級別的配置設置,不管是自己的還是其他應用程序或計算機的,也不管是本地的還是遠程的。使用 ConfigurationManager 類提供的方法之一可打開類似 Myapp.exe.config 這樣的配置文件。這些方法返回一個 Configuration 對象,該對象又公開可用于處理關聯的配置文件的方法和屬性。這些方法執行讀取或寫入操作,并于每次寫入文件時重新創建配置數據。

?????? 支持配置任務。下列類型用于支持各種配置任務:

SectionInformation
PropertyInformation
PropertyInformationCollection
ElementInformation
ContextInformation
ConfigurationSectionGroup
ConfigurationSectionGroupCollection

除了處理現有的配置信息外,還可以通過擴展內置的配置類型(如 ConfigurationElement、ConfigurationElementCollection、ConfigurationProperty 和 ConfigurationSection 類),來創建和處理自定義配置元素。有關如何以編程方式擴展內置配置類型的示例,參見 ConfigurationSection。有關如何使用基于屬性的模型擴展內置配置類型的示例,請參見 ConfigurationElement。

Configuration 類允許進行編程訪問以編輯配置文件。使用 ConfigurationManager 提供的打開方法中的一種。這些方法返回一個 Configuration 對象,該對象又提供處理基礎配置文件所需的方法和屬性。可以訪問這些文件以便進行讀取或寫入。 若要讀取配置文件,請使用 GetSection 或 GetSectionGroup 讀取配置信息。進行讀取的用戶或過程必須具有下面的權限: 如果應用程序需要對它自己的配置進行只讀訪問,建議使用 GetSection 方法。此方法提供對當前應用程序的緩存配置值的訪問,它的性能比 Configuration 類更好。

2.Configuration 類:

Configuration類實例表示的配置設置的合并視圖,這些配置設置適用于特定的物理實體(如計算機)或邏輯實體(如應用程序或網站)。指定的邏輯實體可以存在于本地計算機或遠程服務器上。 當某指定的實體沒有配置文件時,則 Configuration 對象表示 Machine.config 文件定義的默認配置設置。通過使用該類定義的 Open 配置方法之一,可以獲取 Configuration 對象。使用Save方法之一,可以保存Coonfiguration對象的配置信息到磁盤文件中

3.?ConfigurationSection 類

??? 可以使用 ConfigurationSection 實現自定義的節類型。擴展 ConfigurationSection 類,以提供對自定義配置節的自定義處理和編程訪問。 所有的默認配置節都由擴展 ConfigurationSection 類的類來表示。

使用 configSections 中的項注冊其處理類型。

????? 3.1 ConfigurationSection實現說明:
?????? 可以使用編程或聲明性(屬性化)代碼編寫模型創建自定義配置節。

?????????????? 3.1.1 編程模型。此模型要求為每個節屬性 (Attribute) 創建一個用于獲取和/或設置其值的屬性 (Property),并將其添加 到基礎 ConfigurationElement 基類的內部屬性 (Property) 包中。

?????????????? 3.1.2 聲明性模型。這種比較簡單的模型也稱為屬性 (Attribute) 化模型,允許您通過使用屬性 (Property) 來定義節屬性 (Attribute),并使用屬性 (Attribute) 對其進行修飾。這些屬性 (Attribute) 將屬性 (Property) 類型及其默認值通知給配置系統。配置系統將使用通過反射獲取的這些信息為您創建節屬性 (Property) 對象并執行所需的初始化。

????3.2 Configuration 是允許進行編程訪問以編輯配置文件的類。您可以按照以下說明訪問這些文件以進行讀寫操作。
??????????????3.2.1 讀取。使用 GetSection 或 GetSectionGroup 讀取配置信息。請注意,進行讀取操作的用戶或進程必須具有以下權限:
?????? 在當前配置層次結構級別下對配置文件的讀取權限。
?????? 對所有父級配置文件進行讀取的權限。

?????? 如果應用程序需要對其自己的配置進行只讀訪問,建議對于 Web 應用程序使用 GetSection 重載方法。或使用 GetSection 方法(針對客戶端應用程序)。 這些方法可提供對當前應用程序的緩存配置值的訪問,且其性能要好于 Configuration 類。
?????? 如果使用帶有路徑參數的靜態 GetSection 方法,則該路徑參數必須引用代碼正在運行的應用程序,否則,該參數將被忽略,并返回當前正在運行的應用程序的配置信息。
??????????????3.2.2 寫入。可使用 Save 方法之一寫入配置信息。請注意,進行寫入操作的用戶或進程必須具有以下權限:
?????? 對當前配置層次結構級別的配置文件和目錄的寫入權限。
?????? 對所有配置文件的讀取權限。

轉載于:https://www.cnblogs.com/ycat/archive/2006/08/19/481083.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/386484.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/386484.shtml
英文地址,請注明出處:http://en.pswp.cn/news/386484.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

連續四年百度Android崗必問面試題!Android校招面試指南

前言 剛從阿里面試回來,想和大家分享一些我的面試經驗,以及面試題目。 這篇文章將會更加聚焦在面試前需要看哪些資料,一些面試技巧以及一些這次的面試考題。 面試經歷 7月確定想走后開始看各種面經,復習基礎知識,月…

Spring Boot教程(11) – 理解注解@ControllerAdvice

之前,我們介紹過ModelAttribute和ExceptionHandler,前者可以往請求的Model里加數據,后者可以接受請求處理方法拋出的異常。但是他們放在控制器(Controller)里的時候,作用范圍是有限的,只管當前控制器里的方法。如果你有幾百個控制…

透徹解析!字節跳動Android實習面試涼涼經,年薪超過80萬!

什么是Kotlin? Kotlin,如前面所說,它是JetBrains開發的基于JVM的語言。JetBrains因為創造了一個強大的Java開發IDE被大家所熟知。Android Studio,官方的Android IDE,就是基于Intellij,作為一個該平臺的插件。 Kotli…

synchronized 底層如何實現?什么是鎖升級、降級?

synchronized 底層如何實現?什么是鎖升級、降級? synchronized 代碼塊是由一對 monitorenter/monitorexit 指令實現的,Monitor 對象是同步的基本實現單元。 https://docs.oracle.com/javase/specs/jls/se10/html/jls-8.html#d5e13622 在Jav…

Spring主要用到兩種設計模式

Spring主要用到兩種設計模式 1、工廠模式 Spring容器就是實例化和管理全部Bean的工廠。 工廠模式可以將Java對象的調用者從被調用者的實現邏輯中分離出來。 調用者只關心被調用者必須滿足的某種規則,這里的規則我們可以看做是接口,而不必關心實例的具體實…

意外收獲字節跳動內部資料,已開源

前言 每年的3、4月份是各大企業為明年拓展業務大量吸納人才的關鍵時期,招聘需求集中、空缺崗位多,用人單位也習慣在初秋進行大規模招聘。 金九銀十,招聘旺季,也是一個求職旺季。 不打無準備的仗,在這種關鍵時期&…

OpenJDK研究

這里以32位Windows 7為例 安裝必須的軟件 JDK1.8CygwinMicrosoft Visual Studio 2010 (請下載英文版) 這里就不介紹怎么安裝這些軟件了,假設安裝后的目錄名分別是: (請根據你的實際情況調整這些目錄名) D:\JavaSE1.8 D:\Cygwin D:\VS2010 增加環境變…

獵頭文章(一)

(一)從來沒有想過自己會加入這一行, 從開始自己喜歡的專業通訊, 到后來喜歡的管理,,幻想過是專業高手, 幻想過管理專家, 卻從來沒有想過進入這一行,但 真的在我剛剛離開校…

成功跳槽百度工資從15K漲到28K,威力加強版

前言 看到一篇文章中提到“最近幾年國內的初級Android程序員已經很多了,但是中高級的Android技術人才仍然稀缺“,這的確不假,從我在百度所進行的一些面試來看,找一個適合的高級Android工程師的確不容易,一般需要進行大…

Redis下載及安裝(windows版)

下載地址 1、Github下載地址:https://github.com/MicrosoftArchive/redis/releases 2、百度網盤下載地址 https://pan.baidu.com/s/1z1_OdNVbtgyEjiktqgB83g 密碼:kdfq 安裝過程 1.首先先把下載的壓縮包解壓到一個文件夾中 2.打開cmd指令窗口 3.輸入你剛…

成功跳槽百度工資從15K漲到28K,跳槽薪資翻倍

前言 這篇文章主要是分享今年上半年的面試心得,現已就職于某大廠有三個月了,近期有很多公司均已啟動秋招,也祝大家在 2020 的下半年面試順利,獲得理想的offer! 之前找工作的那段時間感想頗多,總結一點面試…

分布式鎖RedLock的java實現Redisson

1. 概述Redisson是一個在Redis的基礎上實現的Java駐內存數據網格(In-Memory Data Grid)。它不僅提供了一系列的分布式的Java常用對象,還提供了許多分布式服務。其中包括(BitSet, Set, Multimap, SortedSet, Map, List, Queue, BlockingQueue,…

我三年開發經驗,從字節跳動抖音離職后,看看這篇文章吧!

最新BAT大廠面試者整理的Android面試題目! 近期根據網友分享大廠面試題目,今天我將網友面試的BAT等大廠Android面試題目整理出來,希望能夠幫助大家! 珍藏版(1)——高級 UI 晉升 第一節、觸摸事件分發機制…

arthas命令redefine實現Java熱更新

Arthas非常重要的命令redefine,主要作用是加載外部的.class文件,用來替換JVM已經加載的類,總結起來就是實現了Java的熱更新。 redefine在一下幾種情況中會失敗:1、增加了field;2、增加了method;3、替換正在…

安裝 ZendServer-CE 可能遇到的問題

安裝后,打開http://localhost:10081/ZendServer 出現如下頁面. Internal Server Error The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, adminexample.com and inform them…

Elk7.2 Docker

正如官方所說的那樣 https://www.elastic.co/guide/en/elasticsearch/reference/current/vm-max-map-count.html,Elasticsearch默認使用mmapfs目錄來存儲索引。操作系統默認的mmap計數太低可能導致內存不足,我們可以使用下面這條命令來增加內存 為了防止…

我了解到的面試的一些小內幕!附面試題答案

背景 首先我是個菜雞,工資也低的一筆。 剛畢業時候在一家國企上班干 app 開發,干了快兩年的時候,跳槽到了一家偽大廠干安全。投了不少簡歷都沒有回音,只有這加偽大廠要我就來了。當時說好了會接觸一些底層的東西,然而…

學習單調隊列小結

因為一直在聽身邊的人說什么單調隊列/斜率優化dp/背包,(ps:我也不清楚這樣稱呼對不對,因為我真心是沒見過這些東西)我都覺得那是神一樣的東西。終于抽出時間學了一下。 昨天在朋友一本書里面看到一句話,這里先跟大家分享一下: 沒有…

@Async join

直接貼代碼 自定義線程池 package com.xh.lawsuit.rest.modular.example; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecu…

我們究竟還要學習哪些Android知識?完整版開放下載

前言 移動研發火熱不停,越來越多人開始學習 android 開發。但很多人感覺入門容易成長很難,對未來比較迷茫,不知道自己技能該怎么提升,到達下一階段需要補充哪些內容。市面上也多是談論知識圖譜,缺少體系和成長節奏感&a…