gpt4 book ai didi

c# - ConfigurationManager.GetSection 和 Configuration.GetSection 有什么区别?

转载 作者:太空狗 更新时间:2023-10-29 21:34:22 29 4
gpt4 key购买 nike

我正在尝试创建一个基于 AppSettings 的自定义配置文件部分:

<configSections>
<section name="customConfiguration"
type="System.Configuration.AppSettingsSection,
System.Configuration,
Version=2.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a"/>
</configSections>

当我尝试通过 ConfigurationManager.GetSection("customConfiguration") 读取它时,返回的对象是 System.Configuration.KeyValueInternalCollection 类型。尽管我可以看到键,但我无法读取此集合的值,而且我无法将其转换为 AppSettingsSection。

This Stackoverflow 回答建议我应该使用

Configuration config = 
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
AppSettingsSection customSettingSection =
(AppSettingsSection)config.GetSection("customConfiguration");

这成功了。我的问题是:ConfigurationManager.GetSection() 和 Configuration.GetSection() 有什么区别?什么时候应该使用一个,什么时候应该使用另一个?

最佳答案

根据关于配置类的 MSDN 文档 http://msdn.microsoft.com/en-us/library/system.configuration.configuration.aspx ,

If your application needs read-only access to its own configuration, it is recommended that you use the GetSection method overloads for Web applications. For client application, use the GetSection method.

These methods provide access to the cached configuration values for the current application, which has better performance than the Configuration class.

具体来说,在客户端应用中,ConfigurationManager获取应用配置文件、本地用户配置文件和漫游配置文件合并得到的配置文件。

关于c# - ConfigurationManager.GetSection 和 Configuration.GetSection 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17777908/

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