【问题标题】:Change to web.config on server is not going into effect对服务器上的 web.config 的更改不会生效
【发布时间】:2013-08-15 20:45:23
【问题描述】:

当我使用 Visual Studio 在本地调试我的网站时,对 web.config 的更改会毫无问题地生效。

但是,当我在我的服务器主机(运行 IIS 7.5)上对 web.config 进行相同的更改时,当我在浏览器中加载它时,看起来该站点仍在运行旧版本的 web.config。不会应用新的更改。

我尝试使用 IIS 管理器在服务器上停止和启动我的站点的应用程序池,但仍然没有任何变化。我也尝试过停止和启动 IIS,但也没有用。

我对 web.config 所做的更改涉及删除块中的条目以允许和拒绝用户。 它当前设置为提示输入凭据,如果有效,则可以访问该站点。如果不是,则拒绝访问。我正在尝试进行的更改是允许所有用户访问,而不是提示他们输入凭据。

之前:

<authorization>
  <deny users="?" />
  <allow roles="admins" />
  <deny users="*" />
</authorization>

之后:

<authorization>
  <allow users="*" />
</authorization>

这是什么原因?

【问题讨论】:

  • 你确定你改对了web.config?如果您有多个,请确认您更改的是正确的。
  • 我的网站上只有一个 web.config。

标签: asp.net web-config iis-7.5


【解决方案1】:

您必须重置 IIS。只需打开命令提示符并运行 IISRESET 就可以了。

【讨论】:

    【解决方案2】:

    我发现如果我尝试直接通过文件系统(在 IIS 服务器上)修改 Web.config,我的更改将无法保存,因此不会应用。如果您可以访问主机服务器上的 IIS,这就是我发现的适合我的方法:

    注意:这些说明基于 Windows Server 2012 上的 IIS 8,但可能仍适用于 IIS 7.5。

    1. 转到主机服务器上的 IIS 管理器
    2. 在站点中深入研究,直到找到您的应用程序
    3. 使用功能视图,双击授权规则
    4. 使用 Actions 面板(右侧)中的 Add Allow Rule...Add Deny Rule... 链接配置所有授权规则。

    此过程会为您更新 Web.config。如果您需要编辑或删除规则,请单击适用的规则,然后单击 Actions 中的 Edit...Remove 链接面板。

    我希望这会有所帮助。

    【讨论】:

      【解决方案3】:

      您是在部署、发布还是复制?确保您的调试和发布设置相同。也有虚拟目录设置不正确且未加载正确的 webconifg 的情况。

      【讨论】:

      • 通常,每当我进行更改时,只需将更新后的 DLL 从我的本地计算机中移出,以替换服务器上的旧 DLL。但由于 web.config 没有 DLL,我只是试图对服务器的文件副本进行编辑。
      • 转到应用程序的 IIS 设置。检查设置选项,它会从 web.config 文件中获取连接字符串和配置设置。您看到旧条目还是新条目?当 web.config 中存在与 XML 相关的错误时,我也看到了这种情况。标签未关闭等。
      【解决方案4】:

      从您的服务器复制 web.config 文件并将其放置在您的本地计算机中并根据您的要求进行修改。然后删除服务器中的web.config文件,将修改后的web.config从本机复制粘贴到服务器。

      这对我有用,但对我来说连接字符串是问题。

      【讨论】:

        【解决方案5】:

        来自MSDN - Web.Config

        对 web.config 文件的任何更改都需要重新启动“Microsoft IIS 管理”服务才能生效。

        【讨论】:

        • 通过阅读此处引用的文章,我的理解是,这仅适用于影响 IIS 管理 API 的 web.config 更改。
        【解决方案6】:

        也许,也许,也许它对某人有所帮助。我也有同样的问题。与 IIS 重置不起作用。与回收 AppPool 不起作用。也许您的驱动器没有可用空间。

        有时在我删除一些不需要的文件后,这项工作会起作用。但我认为重要的原因是许可。我们必须使用记事本之类的编辑器或以管理员身份运行编辑器或 web.Config 需要更改权限才能更改然后更改 Web.config。然后保存。这对我有用。

        【讨论】:

          【解决方案7】:

          您必须执行以下操作

          1. 点击构建菜单
          2. 选择清洁解决方案
          3. 之后
          4. 选择重新构建应用程序
          5. 已发布文件(代码)

          完成此操作后,它工作正常,没有问题。

          反映 IIS 服务的变化

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2019-03-11
            • 2021-12-21
            • 1970-01-01
            • 2017-09-14
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多