[英]Custom section/collection in Web.Config
我有一堆路由,我希望能夠在我的Web.Config文件中拋出。 我需要為集合中的每個部分/項目添加一個鍵和兩個值字段。 有點像這樣......
<routes>
<add
key="AdministrationDefault"
url="Administration/"
file="~Administration/Default.aspx" />
<add
key="AdministrationCreateCampaign"
url="Administration/CreateCampaign/"
file="~/Administration/CreateCampaign.aspx" />
<add
key="AdministrationLogout"
url="Administration/Leave/"
file="~/Administration/Leave.aspx" />
</routes>
這可能嗎?
非常相似的示例: http : //jopinblog.wordpress.com/2007/04/20/custom-configurationsections-in-net-20-config-files/
這是自定義部分的官方頁面: http : //msdn.microsoft.com/en-us/library/2tw134k3.aspx
此外,這里也有類似的問題: 如何定義具有潛在子元素和屬性屬性的自定義web.config部分?
如果您不想創建表示配置部分的類,則可以執行以下操作:
var configSection = ConfigurationManager.GetSection("sectionGroup/sectionName");
var aValue = (configSection as dynamic)["ValueKey"];
轉換為動態可以訪問configSection中的鍵值。 您可能必須在configSection中添加斷點和峰值,以查看其中包含的內容以及要使用的ValueKey。
是。 一旦你有一個開始,並不是太難。
您需要創建一個ConfigurationSection
派生類來定義<routes>
部分(然后在配置中添加<section>
以將<routes>
元素鏈接到您的類型)。
然后,您需要一個類型來定義集合的每個元素,並將其標記為默認值,即集合的第二個類型的屬性。
設置完畢后,在運行時,您可以訪問配置部分:
var myRoutes = ConfigurationManager.GetSection("routes") as RoutesConfigSection;
我的博客有一些關於此背景的文章: http : //blog.rjcox.co.uk/category/dev/net-core/
正如在另一個答案中所指出的,在MSDN上也有覆蓋率(比以前好很多)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.