【发布时间】:2012-03-23 01:36:33
【问题描述】:
毫无疑问,我还没有遇到任何读取速度瓶颈。我想知道;如果经常阅读 app.config 是一个糟糕的编程选择。我知道数据库操作变得昂贵。
就我而言,我不是在阅读我自己的应用程序的 app.config,而是另一个项目的,如下所示:
private string GetAppConfigValue(string key)
{
ExeConfigurationFileMap fileMap = new ExeConfigurationFileMap();
fileMap.ExeConfigFilename = GetConfigFilePath();
Configuration appConfig = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None);
return appConfig.AppSettings.Settings[key].Value;
}
场景:我有一个管理器类(并且只有一个这样的类),我必须从物理路径指定的配置文件中读取几个值(3 到 4),但很多次。我需要很少的成员变量来存储 app.config 文件中的值吗?什么是最好的方法。谢谢。
【问题讨论】:
-
您始终可以将
appConfig缓存为静态值,这样您只需读取一次app.config。 -
@jrummell,没错。我的问题是,这是正确的方法吗?是否有性能影响?等
-
远程app.config的网络连接有多好?
-
@ShellShock,哈哈它在同一台机器上:)
-
@nawfal。由于它是一个基于 XML 的文档,因此框架会在内部解析该文档并肯定会影响其性能。供您参考,在最新的 .net 框架中,所有配置文件都是基于 JSON 而不是基于 XML。
标签: c# performance coding-style app-config