gpt4 book ai didi

asp.net - 为特定 URL 提供 app_offline.htm 时,将 http 状态 503 更改为 200

转载 作者:行者123 更新时间:2023-12-02 03:18:44 24 4
gpt4 key购买 nike

ASP.NET 提供的 app_offline.htm 文件返回 http 状态 503。对于大多数情况,这是正确的行为。但是,在请求特定 URL 的情况下(例如 https://www.mywebsite.com/monitor ),我想将返回的 http 状态更改为 200,同时在所有其他情况下仍返回 http 状态 503。这可能吗?

我想要这样做的原因是每当我们在网站上进行定期维护时,我们都会使用 app_offline.htm 文件,但我们不希望我们的正常运行时间监控服务 (Pingdom.com) 在我们的计划期间报告停机时间维护。

我认为这必须在 IIS 级别,因为 app_offline.htm 在请求处理周期的早期就得到服务。

最佳答案

请注意,App_Offline 只是用于删除 ASP.NET 部分,与 IIS 站点无关。所有非 ASP.NET 请求(例如 .htm)都将通过正常的 IIS 管道。

话虽如此,HTTP 503 是一个不可用的服务错误。 App_Offline.htm 使站点部分脱机,当站点脱机时,所有 ASP.NET 请求都会收到 503 响应,这是正常且正确的。

使用 HttpModule 或 ASP.NET 管道中的任何代码绕过此问题不是有效的解决方案。

由于您在维护期间已在 IIS 根目录中创建/复制 App_Offline.htm,因此我建议添加 maintenance.htm 作为默认文档您的 /monitor 文件夹或 IIS 站点,并在维护期间在其中创建/复制 maintenance.htm 文件:那么无论 ASP.NET 站点是什么,都将访问默认页面是否离线。

如果您的探测器在没有指定任何页面的情况下调用 http://servername/monitor/ uri,它将起作用。

您只需在维护后删除它 - 就像删除您的 App_Offline 一样。

关于asp.net - 为特定 URL 提供 app_offline.htm 时,将 http 状态 503 更改为 200,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5081187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com