gpt4 book ai didi

asp.net - 嵌套自定义配置元素集合

转载 作者:行者123 更新时间:2023-12-01 13:03:46 25 4
gpt4 key购买 nike

我正在尝试为我目前参与的 asp.net 项目实现自定义配置解决方案。

这里是配置声明

    <sectionGroup name="WebsiteConfig" type="{namespace}.{class}, {assembly}">
<section name="Languages" type="{namespace}.{class}, {assembly}"/>
<section name="LinkFormats" type="{namespace}.{class}, {assembly}"/>
<section name="Countries" type="{namespace}.{class}, {assembly}"/>
</sectionGroup>

这是我尝试使用的实际配置

<WebsiteConfig>

<Languages>
<Language code="en" domain="...">
<Theme .../>
<SiteMap ..."/>
</Language>
<Language code="de" domain="...">
<Theme .../>
<SiteMap .../>
</Language>
</Languages>

<Countries>
<Country Code="UK">
<Files>
<File name="..." fileUrl="..." enabled="true" />
<File ... />
</Files>
<Messages>
<Message Enabled="true" Message="..." />
<Message ... />
</Messages>
</Country>
<Country Code="...">....</Country>
</Countries>

<LinkFormats UseRewrites="false">
<Link name="..." format="..." formatRewrite=".../"/>
<link .... />
</LinkFormats>

</WebsiteConfig>

我遇到的问题是 Country 元素 (ConfigurationElement) 中的 Files 和 Messages 集合抛出一个无法识别的元素“File”等。

我的国家/地区元素具有以下文件和消息属性

    [ConfigurationProperty("Files")]
public FilesSection Files
{
get
{
return (FilesSection)this["Files"];
}
set
{
this["Files"] = (object)value;
}
}

[ConfigurationProperty("Messages")]
public MessagesSection Messages
{
get
{
return (MessagesSection)this["Messages"];
}
set
{
this["Messages"] = (object)value;
}
}

FilesSection 和 MessagesSection 都是从 ConfigurationElement 派生的,具有类型 x 的默认集合,这是从 ConfigurationElement 派生的项的集合。

有没有人知道我哪里出错了?

我是否需要将 Countries 和 Country 转为 SectionGroup's,然后将 Files 和 Messages 转为 Section's?

最佳答案

基于这篇文章http://www.endswithsaurus.com/2008/11/custom-configuration-section.html我发现我需要设置 ElementName,因为父级不是节处理程序的嵌套集合不会遵守“AddItemName”来设置子元素。

关于asp.net - 嵌套自定义配置元素集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4283753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com