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

某人在以下位置:

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

他说.NET Framework对应用程序没有同样的功能.配置,但它会从磁盘读取每个请求.但我很难相信,因为这样会更慢.请告诉我他错了,否则我将不得不修复我编写的每个控制台/Windows窗体/Windows服务.

Update我很遗憾,我误解了人们在上面链接的论坛上所说的话.

推荐答案

快速测试似乎显示这些设置仅在应用程序启动时加载.

//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相关问答推荐

单个方法(即扩展方法)之间的调用不明确

HttpResponse 的区别:SetCookie、AppendCookie、Cookies.Add

为 Web 请求实现速率限制算法的最佳方法是什么?

说服遗留应用程序 VB6 开发人员切换到 C#

ASP.NET:获取自 1970 年 1 月 1 日以来的毫秒数

ASP.NET Membership:如何将用户设置为已登录

使用 IIS 的 ASP.NET 调试超时

Webapi、Webhost和Owin的关系

HttpContext.Current.Request.IsAuthenticated 和 HttpContext.Current.User.Identity.IsAuthenticated 有什么区别?

哪些行为驱动开发 (BDD) 工具/框架可用于 Microsoft Stack?

Asp.net 中的下拉列表验证使用必填字段验证器

带有文件名的 ASP.net MVC4 WebApi 路由

实体框架:如何解决外键约束可能导致循环或多个级联路径?

将当前谷歌 map 保存为图片

对于 DB ID,需要一个较小的 GUID 替代方案,但对于 URL 仍然是唯一且随机的

Azure 网站 301 重定向 - 我应该把它放在哪里?

ASP.NET 5、EF 7 和 SQLite - SQLite 错误 1:没有这样的表:博客

如何将列表转换为数据表

回发后运行javascript函数

您的下一个 ASP.NET 项目的 Select 是什么:Web 窗体还是 MVC?