【问题标题】:Http Headers got cleared after deploying new app version部署新应用版本后,Http Headers 被清除
【发布时间】:2020-10-05 21:43:53
【问题描述】:

我正在使用 IIS 10 在 Windows Server 上运行我的 ASP.NET MVC 应用程序。

我在 HTTP 响应标头 部分为此网站设置了一堆自定义标头。

过了一段时间,我发现他们已经不在了,我惊呆了。

我怀疑当我部署新的应用版本时它们已被删除 - 实际上是通过更改网站的基本设置部分中的应用路径。

如何使这些标头持久化? 为什么他们在哪里清理? 还有什么我应该知道的吗?

【问题讨论】:

    标签: asp.net asp.net-mvc iis windows-server iis-10


    【解决方案1】:

    如果你在 iis 中设置了 HTTP 响应头,那么你可以在 web.config 中查看它。 那么你只需要监控谁清除了 HTTP Response Headers。

    关于如何监控web.config文件,可以尝试使用Win32函数ReadDirectoryChangesW。

    Asp.net 使用 Win32 函数 ReadDirectoryChangesW 来监视目录和文件。一旦检测到更改,应用程序域就会被回收,这可能会导致性能问题。

    更多关于 ReadDirectoryChangesW 函数的信息可以参考这个链接: ReadDirectoryChangesW function

    【讨论】:

      【解决方案2】:

      如果通过 IIS 服务器接口添加自定义标头,则更改将保留在服务器上应用程序的 web.config 中。在部署应用程序的新版本时,相同的内容将被新的配置文件替换。配置文件的过度写入会导致旧文件可能具有的任何自定义配置丢失,包括自定义标头字段。鉴于可用信息量,我认为这可能是可能的原因之一。

      【讨论】:

        猜你喜欢
        • 2018-04-18
        • 2021-06-28
        • 2019-08-19
        • 2018-02-14
        • 2023-03-22
        • 2011-03-09
        • 2012-12-16
        • 1970-01-01
        • 2020-08-31
        相关资源
        最近更新 更多