當(dāng)前位置:
首頁(yè) >
基础才是重中之重~用好configSections让配置信息更规范
發(fā)布時(shí)間:2025/6/15
44
豆豆
生活随笔
收集整理的這篇文章主要介紹了
基础才是重中之重~用好configSections让配置信息更规范
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
對(duì)于小型項(xiàng)目來(lái)說(shuō),配置信息可以通過(guò)appSettings進(jìn)行配置,而如果配置信息太多,appSettings顯得有些亂,而且在開發(fā)人員調(diào)用時(shí),也不夠友好,節(jié)點(diǎn)名稱很容易寫錯(cuò),這時(shí),我們有幾種解決方案
1 自己開發(fā)一個(gè)配置信息持久化類,用來(lái)管理配置信息,并提供面向?qū)ο蟮闹С?/span>2 使用.net自帶的configSections,將配置信息分塊管理,并提供實(shí)體類,便于開發(fā)人員友好的去使用它本文主要說(shuō)說(shuō)第二種方案,它由實(shí)體類,實(shí)體類工廠及配置文件三個(gè)部分,看代碼:
實(shí)體類設(shè)計(jì):
namespace Configer {/// <summary>/// 網(wǎng)站信息配置節(jié)點(diǎn)/// </summary>public class WebConfigSection : ConfigurationSection{/// <summary>/// 網(wǎng)站名稱/// </summary>[ConfigurationProperty("WebName", DefaultValue = "", IsRequired = true, IsKey = false)]public string WebName{get { return (string)this["WebName"]; }set { this["WebName"] = value; }}/// <summary>/// 網(wǎng)站域名/// </summary>[ConfigurationProperty("DoMain", DefaultValue = "", IsRequired = true, IsKey = false)]public string DoMain{get { return (string)this["DoMain"]; }set { this["DoMain"] = value; }}} }實(shí)體工廠類設(shè)計(jì),主要用來(lái)生產(chǎn)實(shí)體配置信息
namespace Configer {/// <summary>/// 網(wǎng)站配置信息工廠/// </summary>public class WebConfigManager{/// <summary>/// 配置信息實(shí)體/// </summary>public static readonly WebConfigSection Instance = GetSection();private static WebConfigSection GetSection(){WebConfigSection config = ConfigurationManager.GetSection("WebConfigSection") as WebConfigSection;if (config == null)throw new ConfigurationErrorsException();return config;}} }而最后就是.config文件了,它有configSections和指定的sections塊組成,需要注意的是configSections必須位于configuration的第一個(gè)位置
<?xml version="1.0" encoding="utf-8"?> <configuration><configSections><section name="WebConfigSection" type="Configer.WebConfigSection, test"/></configSections><connectionStrings><add name="backgroundEntities" connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\sqlexpress;Initial Catalog=background;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" /></connectionStrings><WebConfigSection WebName="占占網(wǎng)站" DoMain="www.zhanzhan.com" /><appSettings><add key="site" value="www.zzl.com"/></appSettings> </configuration>以上三步實(shí)現(xiàn)后,我們就可以調(diào)用了,呵呵
static void Main(string[] args){Console.WriteLine(System.Configuration.ConfigurationManager.AppSettings["site"]);Console.WriteLine(WebConfigManager.Instance.DoMain);Console.WriteLine(WebConfigManager.Instance.WebName);}結(jié)果如下:
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的基础才是重中之重~用好configSections让配置信息更规范的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ASP.NET MVC 实现模式 - M
- 下一篇: Oracle undo表空间爆满的解决