我希望在web.config中,配置**資訊,管理員資訊,和使用者資訊(當然這個配置有點不切實際了,這裡只是為了演示),所以,我希望按下面的格式做配置。
這個sitesetting配置節點是乙個稍微複雜一點的配置,自己包含有attributes,同時包含子節點siteadmin, siteusers, 而siteusers又包含多個siteuser子節點。
接下來我要定義幾個類,分別代表各個不同的節點。有一定的規則:
代表根節點,也就是sitesetting節點的類,繼承自configurationsection類
代表單一子節點的siteadmin, siteuser類,繼承自configurationelement類
包含多個同名子節點的siteusers類,繼承自configurationelementcollection類
2. siteadmin類
public class siteadmin : configurationelement
set
}[configurationproperty("adminname")]
public string adminname
set
}} 注意configurationpropertyattribute,和this關鍵字,很明顯在基類中定義了索引器。本文並不想對這些做過多**,直接以**展示。
3. siteuser類
public class siteuser : configurationelement
set
}[configurationproperty("username")]
public string username
set }}
4. siteusers類
public class siteusers : configurationelementcollection
protected override object getelementkey(configurationelement element)
public override configurationelementcollectiontype collectiontype
}protected override string elementname
}} 繼承自configurationelementcollection的類,必須override以上4個方法。
siteusers是siteuser的集合,因此不難理解上述4個override方法的目的。
5. sitesetting類
public class sitesetting : configurationsection
set
}[configurationproperty("siteversion")]
public string siteversion
set
}[configurationproperty("closed", isrequired=true)]
public bool closed
set }
[configurationproperty("siteadmin")]
public siteadmin siteadmin
set
}[configurationproperty("siteusers")]
public siteusers siteusers }}
6. 在web.config新增我們的自定義配置
根據我們最初的設想,現在來對web.config進行配置
在中加入:
在中加入:
7. 檢驗結果
這樣就完成了嗎?是的。
來寫簡單的測試**,將我們的自定義配置資訊輸出來:
public partial class _default : system.web.ui.page }}
如何自定義配置節點
目錄 向專案中新增system.configuration引用。configurationsection configurationelement configurationelementcollection這幾個類都是在system.configuration中定義的,而該dll預設並不是新建乙個...
自定義Feign配置
在springcloud中,feign的預設配置類是feignclientsconfiguration,該類定義了feign預設使用的編碼器 解碼器 所使用的契約 預設支援springmvc註解 等,如果想使用feign自帶的註解 requestline工作,則需要在 feignclient的con...
oh my zsh自定義配置
預設的zsh主題robbyrussell已經很棒了,簡潔高效,能很好的顯示git的相關資訊,比如branch資訊,修改,刪除,新增等操作.但是多使用者的話就不能很好的展示,我們可以通過修改robbyrussell的配置檔案來達到我們想要的效果.一般情況下,我們安裝oh my zsh都是在自己的家目錄...