gpt4 book ai didi

asp.net - 在 web.config 中存储值 - appSettings 或 configSection - 哪个更有效?

转载 作者:行者123 更新时间:2023-12-02 08:21:47 26 4
gpt4 key购买 nike

我正在编写一个可以使用几个不同主题的页面,并且我将在 web.config 中存储有关每个主题的一些信息。

创建一个新的sectionGroup并将所有内容存储在一起,还是将所有内容都放在appSettings中,效率更高吗?

configSection解决方案

<configSections>
<sectionGroup name="SchedulerPage">
<section name="Providers" type="System.Configuration.NameValueSectionHandler"/>
<section name="Themes" type="System.Configuration.NameValueSectionHandler"/>
</sectionGroup>
</configSections>
<SchedulerPage>
<Themes>
<add key="PI" value="PISchedulerForm"/>
<add key="UB" value="UBSchedulerForm"/>
</Themes>
</SchedulerPage>

要访问 configSection 中的值,我使用以下代码:

    NameValueCollection themes = ConfigurationManager.GetSection("SchedulerPage/Themes") as NameValueCollection;
String SchedulerTheme = themes["UB"];

appSettings 解决方案

<appSettings>
<add key="PITheme" value="PISchedulerForm"/>
<add key="UBTheme" value="UBSchedulerForm"/>
</appSettings>

要访问 appSettings 中的值,我使用此代码

    String SchedulerTheme = ConfigurationManager.AppSettings["UBSchedulerForm"].ToString();

最佳答案

对于更复杂的配置设置,我将使用自定义配置部分,例如明确定义每个部分的角色

<appMonitoring enabled="true" smtpServer="xxx">
<alertRecipients>
<add name="me" email="me@me.com"/>
</alertRecipient>
</appMonitoring>

在您的配置类中,您可以使用类似的内容公开您的属性

public class MonitoringConfig : ConfigurationSection
{
[ConfigurationProperty("smtp", IsRequired = true)]
public string Smtp
{
get { return this["smtp"] as string; }
}
public static MonitoringConfig GetConfig()
{
return ConfigurationManager.GetSection("appMonitoring") as MonitoringConfig
}
}

然后,您可以通过以下方式从代码中访问配置属性

string smtp = MonitoringConfig.GetConfig().Smtp;

关于asp.net - 在 web.config 中存储值 - appSettings 或 configSection - 哪个更有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/204695/

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