首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >web.config或app.config是否缓存在内存中

web.config或app.config是否缓存在内存中
EN

Stack Overflow用户
提问于 2010-08-25 22:39:45
回答 3查看 4.8K关注 0票数 13

如果它被缓存,如果我在多级文件夹中使用多个web.config,会发生什么情况

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-25 22:41:32

它们都会被缓存。

配置在启动时读取一次。使用web.config,IIS监视文件更改并重新启动应用程序。

票数 17
EN

Stack Overflow用户

发布于 2012-03-08 07:24:08

好的,那么您将在Web.Config文件区域中缺少一个关键特性。

是,web.config已缓存,更改文件内容将重新启动您的web应用。而且,你所有的连接用户也不会对满意,因为他们将需要重新连接一个新的,可能会丢失所需的信息。

因此,请为您的AppSettings使用外部自定义文件,如下所示:

代码语言:javascript
复制
<appSettings configSource="MyCustom_AppSettings.config"/>

然后,在文件MyCustom_AppSettings.config文件中,您具有您的设置,因此本例具有以下设置:

代码语言:javascript
复制
<appSettings>

  <!--   AppSecurity Settings   -->
  <add key="AppStatus_Active" value="Active"/>

  <!--   Application Info Settings   -->
  <add key="AppID" value="25"/>
  <add key="AppName" value="MyCoolApp"/>
  <add key="AppVersion" value="20120307_162344"/>
</appSettings>

现在,如果您需要添加、更改或删除AppSetting,当您在此文件中更改它时,更改在您的web应用程序中几乎是即时的,但(这是最好的部件),您的应用程序不会重新启动

除了您在外部.config文件中添加/修改/删除的那些设置之外,一切都保持正常。

是的,可以对该部分执行与相同的操作,如下所示:

代码语言:javascript
复制
<connectionStrings configSource="MyCustomApp_ConnectionStrings.config"/>

文件MyCustomApp_ConnectionStrings.config包含您需要的所有连接字符串。更改外部.config文件中的连接字符串,它将立即开始使用,并且无需重启web应用程序。

当您需要部署到不同机器上开发、测试和生产,且需要与给定机器/环境相关的设置时,configSource设置非常有用。

所以,现在你知道了(一些已经存在了7+多年的东西)。

就这么简单。真的。

KC

票数 11
EN

Stack Overflow用户

发布于 2010-08-25 22:43:18

加载应用程序时读取Web.config (不包括外部配置文件)。某些配置设置具有级联行为。例如,system.web/authorization部分可以由更深层次的配置覆盖。

ASP.NET监视web.config的更改。当它改变时,web应用程序被强制重启。寓意是在应用程序的生命周期内缓存web.config设置。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3567022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档