gpt4 book ai didi

.net - 自定义配置部分中是否可以包含任意 XML?

转载 作者:行者123 更新时间:2023-12-03 01:49:32 30 4
gpt4 key购买 nike

假设我在 ASP.NET web.config 中定义一个配置部分,如下所示:

<?xml version="1.0"?>
<configuration>
<configSections>
<sectionGroup name="system.web">
<section name="MySettings" type="MyCompany.MyProject.Configuration.MySettings" allowLocation="true" allowDefinition="Everywhere" restartOnExternalChanges="false" />
</sectionGroup>
</configSections>
<system.web>
<MySettings knownProperty="some_value" unknownProperty="other_value" />
</system.web>
</configuration>

假设我定义了 MySettings : System.Configuration.ConfigurationSection 不带 unknownProperty:

using System.Configuration;

namespace MyCompany.MyProject.Configuration
{
public class MySettings : ConfigurationSection
{
public MySettings() { }

[ConfigurationProperty("knownProperty", DefaultValue="default_value")]
public string KnownProperty
{
get { return (string)this["knownProperty"]; }
}

// I'm not defining unknownProperty here on purpose
}
}

是否有办法运行应用程序而不会出现配置错误,提示无法识别的属性“unknownProperty”?

此外,如果可能的话,我也可以找到一种方法来捕获该错误并忽略它。

换句话说,我希望 XML 具有一个未在其绑定(bind)的匹配类型中定义的属性。可以在现有配置 API 的范围内完成吗?

最佳答案

我非常确定这是可能的,因为某些内置部分(例如 WCF 和成员(member)资格)可以毫无错误地执行此操作。 OnDeserializeUnrecognizedAttribute 是否满足您的需要?

protected override bool OnDeserializeUnrecognizedAttribute(string name, string value){
//don't call base to avoid error
}

关于.net - 自定义配置部分中是否可以包含任意 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/509455/

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