日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

配置文件configSections节点使用实例      。

發布時間:2023/12/18 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 配置文件configSections节点使用实例      。 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

configSections為自定義節點,增加應用程序可移植性,用于配置文件上傳路徑,再深入應用可定義工廠方法需要加載創建的類。

1.配置configSections節點

[html] view plaincopy print?
  • <configSections>??
  • ????<section?name?="MyName"?type="LearningConfiguration.NameSectionHandler"/>??
  • </configSections>??
  • <MyName>??
  • ????<Add?key="lu"?name="lulu"></Add>??
  • ????<Add?key="lu2"?name="66"></Add>??
  • </MyName>??
  • <configSections><section name ="MyName" type="LearningConfiguration.NameSectionHandler"/> </configSections> <MyName><Add key="lu" name="lulu"></Add><Add key="lu2" name="66"></Add> </MyName>


    2.定義NameSectionHandler類實現IConfigurationSectionHandler接口

    [csharp] view plaincopy print?
  • namespace?LearningConfiguration??
  • {??
  • ????public?class?NameSectionHandler?:?IConfigurationSectionHandler??
  • ????{??
  • ????????#region?隱式實現接口??
  • ????????public?object?Create(object?parent,?object?configContext,?System.Xml.XmlNode?section)??
  • ????????{??
  • ????????????Dictionary<string,?string>?names?=?new?Dictionary<string,?string>();??
  • ????????????string?key?=?string.Empty;??
  • ????????????string?name?=?string.Empty;??
  • ??
  • ????????????//獲取配置文件中自定義節點值??
  • ????????????foreach?(XmlNode?childNode?in?section.ChildNodes)??
  • ????????????{??
  • ????????????????if?(childNode.Attributes["key"]?!=?null)??
  • ????????????????{??
  • ????????????????????key?=?childNode.Attributes["key"].Value;??
  • ??
  • ????????????????????if?(childNode.Attributes["name"]?!=?null)??
  • ????????????????????{??
  • ????????????????????????name?=?childNode.Attributes["name"].Value;??
  • ????????????????????}??
  • ????????????????????else??
  • ????????????????????{??
  • ????????????????????????name?=?string.Empty;??
  • ????????????????????}??
  • ??
  • ????????????????????names.Add(key,?name);??
  • ????????????????}??
  • ????????????}??
  • ??
  • ????????????return?names;??
  • ????????}??
  • ????????#endregion??
  • ????}??
  • }??
  • namespace LearningConfiguration {public class NameSectionHandler : IConfigurationSectionHandler{#region 隱式實現接口public object Create(object parent, object configContext, System.Xml.XmlNode section){Dictionary<string, string> names = new Dictionary<string, string>();string key = string.Empty;string name = string.Empty;//獲取配置文件中自定義節點值foreach (XmlNode childNode in section.ChildNodes){if (childNode.Attributes["key"] != null){key = childNode.Attributes["key"].Value;if (childNode.Attributes["name"] != null){name = childNode.Attributes["name"].Value;}else{name = string.Empty;}names.Add(key, name);}}return names;}#endregion} }

    ?

    3.調用

    [csharp] view plaincopy print?
  • protected?void?Page_Load(object?sender,?EventArgs?e)??
  • {??
  • ????Dictionary<string,?string>?names?=?ConfigurationManager.GetSection("MyName")?as?Dictionary<string,?string>;??
  • ????if?(names?!=?null)??
  • ????{??
  • ????????????//輸出:lulu66??
  • ????????foreach?(string?key?in?names.Keys)??
  • ????????{??
  • ????????????Response.Write(names[key]);??
  • ????????}??
  • ????}??
  • }??
  • protected void Page_Load(object sender, EventArgs e) {Dictionary<string, string> names = ConfigurationManager.GetSection("MyName") as Dictionary<string, string>;if (names != null){//輸出:lulu66foreach (string key in names.Keys){Response.Write(names[key]);}} }

    總結

    以上是生活随笔為你收集整理的配置文件configSections节点使用实例      。的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。