簡體   English   中英

Web.Config中的自定義部分/集合

[英]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>

這可能嗎?

如果您不想創建表示配置部分的類,則可以執行以下操作:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM