asp.net - ConfigurationManager.AppSettings 缓存

标签 asp.net .net performance caching configurationmanager

我们知道 IIS 会缓存 ConfigurationManager.AppSettings,因此它只会读取磁盘一次,直到 web.config 更改为止。这样做是为了性能目的。

某人在:

http://forums.asp.net/p/1080926/1598469.aspx#1598469

指出 .NET Framework 不会对 app.config 执行相同的操作,但它会针对每个请求从磁盘读取。但我发现很难相信,因为它会更慢。请告诉我他错了,否则我将不得不修复我编写的每个控制台/Windows 窗体/Windows 服务。

更新我很遗憾我误解了人们在上面链接的论坛中所说的话。

最佳答案

快速测试似乎表明这些设置仅在应用程序启动时加载。

//edit the config file now.
Console.ReadLine();

Console.WriteLine(ConfigurationManager.AppSettings["ApplicationName"].ToString());
Console.WriteLine("Press enter to redisplay");

//edit the config file again now.
Console.ReadLine();
Console.WriteLine(ConfigurationManager.AppSettings["ApplicationName"].ToString());
Console.ReadLine();

您会看到所有输出保持不变。

关于asp.net - ConfigurationManager.AppSettings 缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/389361/

相关文章:

c# - 是否可以将 Page DataSource 绑定(bind)到通用列表?

asp.net - LoginStatus 注销在母版页中不起作用

c# - <MailDefinition> 和 <%%> 占位符

c# - 考虑类的多个属性的优雅排序算法

c# - C# 中的多维数组搜索

javascript - 将 CSS/Javascript 链接到网页的正确方法是什么?

.net - 部署 .NET COM dll,出现错误 (0x80070002)

performance - 包含在 ScrollViewer 中的 LongListSelector 性能非常差

c++ - AVX2 simd 在更高优化级别的标量性能相对较差

java - 在java中对元组列表进行排序的有效方法