Asp.net 在Visual Studio 2008中-web.config更改前多长时间”;采取“行动”;?

Asp.net 在Visual Studio 2008中-web.config更改前多长时间”;采取“行动”;?,asp.net,visual-studio-2008,web-config,Asp.net,Visual Studio 2008,Web Config,在我的计算机上本地测试ASP.NET应用程序时,我想覆盖web.config文件中的一些设置。主要部分如下所示: <appSettings file="WebAppSettings.config"> <add key="DEBUG" value ="False"/> <add key="PROD" value="TrueInMainConfigFile"/> </appSettings> 现在,在我的本地“WebApp

在我的计算机上本地测试ASP.NET应用程序时,我想覆盖web.config文件中的一些设置。主要部分如下所示:

  <appSettings file="WebAppSettings.config">
    <add key="DEBUG" value ="False"/>
    <add key="PROD" value="TrueInMainConfigFile"/>
  </appSettings>

现在,在我的本地“WebAppSettings.config”中,我有:


我刚刚将“PROD”的值从True改为False,并保存了文件。然而,当我重建并运行站点时(同样,在我的本地机器上使用IIS,而不是Cassini),System.Configuration.ConfigurationManager.AppSettings(“PROD”)的值仍然返回“True”而不是“False”

有时让它“长时间地坐着”可以解决这个问题。然而,在大多数情况下,我必须关闭并重新打开VS2008,以获得新的值


这里发生了什么?

如果在使用IIS时重新加载站点,任何更改都会立即传播。不确定该告诉您什么。

web.config中的更改需要:

  • 在Visual Studio上,下次运行时(F5)
  • 生产/直接编辑-下次调用应用程序时

每当系统检测到您的\bin文件夹或配置文件发生更改时,就会进行动态生成。

如果您更新web.config,下一个会话将使用新值开始。如果您正在更新辅助文件,这可能是您看不到它的原因。尝试更改web.config中的任何内容,例如添加空间和保存文件。

保存web.config文件将回收应用程序并加载新值。您确定要修改正确的文件吗?注释“使用IIS,而不是Cassini”可能意味着您在IIS中有一个已发布/单独的版本


希望这有帮助

更改web.config会回收AppDomain应用程序池,因此应立即查看更改

您是否正在应用程序中更改web.config?如果是这样,情况就不同了,因为web.config是缓存的

所以你有几个选择

1) 将此设置保存在其他文件中 2) 使用ConfigurationManager.AppSettings[“MyAppSetting”]我记得ConfigurationManager的某些版本已被弃用,但有一个替代版本,哦,是的,您必须刷新该部分


希望有帮助

您对web.config或WebAppSettings.config进行了更改吗?对web.config的更改会立即回收AppDomain,从而在请求新值时立即使用它们。更改WebAppSettings.config没有任何作用。

这很奇怪。我总是发现web.config更改会立即生效。我很想知道答案,这就是原因。我更改了辅助文件,但没有反映新值。当我更改实际的web.config文件时,它重新加载了所有内容,包括来自辅助文件的新值。因此,现在我有一个新的“抓到”要在Visual Studio中留意-当编辑辅助web配置文件时,始终确保强制重新加载主web.config-任何导致文件保存的内容-正如您所建议的,添加空间就足够了。
<appSettings>
  <remove key="DEBUG"/>
  <remove key="PROD"/>
  <add key="DEBUG" value ="True"/>
  <add key="PROD" value="False"/>
</appSettings>