代码之家  ›  专栏  ›  技术社区  ›  David

在Visual Studio 2008中,web.config更改“需要”多长时间?

  •  2
  • David  · 技术社区  · 17 年前

    在测试ASP时,我想在web.config文件中覆盖一些设置。NET应用程序在我的计算机上本地运行。主要部分看起来像这样:

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

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

    <appSettings>
      <remove key="DEBUG"/>
      <remove key="PROD"/>
      <add key="DEBUG" value ="True"/>
      <add key="PROD" value="False"/>
    </appSettings>
    

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

    这是怎么回事?

    6 回复  |  直到 17 年前
        1
  •  5
  •   John Saunders    17 年前

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

        2
  •  4
  •   Josh    17 年前

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

        3
  •  2
  •   NinethSense    17 年前

    web.config中的更改需要:

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

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

        4
  •  1
  •   George Stocker NotMe    17 年前

    如果我在IIS之外工作时重新加载网站,任何更改都会立即传播。不知道该告诉你什么。

        5
  •  0
  •   Zaffiro    17 年前

    保存Web.config文件将回收应用程序并加载新值。你确定你修改的是正确的文件吗?评论“使用IIS,而不是卡西尼)”可能意味着你在IIS中有一个已发布/单独的版本?

    希望这能有所帮助!

        6
  •  0
  •   roundcrisis    17 年前

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

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

    所以你有几个选择

    1) 将此设置保存在其他文件中 2) 使用配置管理器。AppSettings[“MyAppSetting”]我记得有一个版本的ConfigurationManager被弃用了,但有一个替代品,哦,是的,你必须刷新这一节

    希望能有所帮助